所以,我试图制作一个简单的python程序来播放名为number.mp3(1.mp3,2 .mp3 ......)的mp3文件,我有两个功能:
import pygame
import random
def random2():
number= random.randrange (10)
def function():
random2()
pygame.mixer.init(44100)
pygame.mixer.music.load(str(number) + ".mp3")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy() == True:
continue
function()
random2查找一个ranmdom数并将其保存为一个名为number的变量,然后,在函数y中尝试查找它,但是终端(我在linux中运行它)说:
File "./program.py", line 23, in <module>
function()
File "./program.py", line 18, in function
pygame.mixer.music.load(str(number) + ".mp3")
NameError: global name 'number' is not defined
我已尝试在第一个定义数字,global number
和随机函数内部,但它不起作用
有人能帮助我吗?这可能是一个愚蠢的问题,但我从这开始,谢谢
答案 0 :(得分:0)
random2()
函数应返回随机数,而不是将其存储在变量中。然后,您可以将其称为number = random2()
答案 1 :(得分:0)
试试这个:
def random2():
global number
number = random.randrange(10)
def function():
global number
random2()
pygame.mixer.init(44100)
pygame.mixer.music.load(str(number) + ".mp3")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy() == True:
continue
虽然如果你使用全局变量,那就错了。我强烈推荐其他答案中给出的方法,即从number
返回值random2()
,然后将其称为:number = random2()
答案 2 :(得分:-1)
只需声明为number = random2 ()
...这样就可以从random2 ()
...