我试图在每次用户获胜时添加50,但earn变量未定义。我如何定义它
def cash():
payment = float(input("Enter payment: "))
earn = payment
print("You entered: PHP {:.2f}".format(payment))
return earn
def game():
ai_choice = {'0':'Rock', '1':'Paper', '2': 'Scissors'}
def rock():
ai = ai_choice[str(random.randint(0,2))]
if ai == "Rock":
output = "Tie"
elif ai == "Scissors":
output = "User Win"
earn += 50
else:
output = "User Lose"
output_window()
outcome.config(text = output)
如果没有,函数中的变量是该函数的内部变量。这种隔离是功能的全部要点
目前您没有调用
cash()
-函数,因此不清楚您想做什么不清楚您试图实现什么,但是没有定义
earn
,因为它的作用域是cash
函数。您可能需要调用cash
函数,将其值返回到earn += 50
行之前的某个变量所以你有
earn = cash()
。请注意,此“赚取”将不同于现金功能中的“赚取”还有一个侧边提示,执行以下操作:
使用不必要的数据结构并使代码复杂化。一个更简单的选择是:
您可以在全局范围内声明一个变量,然后在两个函数中使用它
应该输出
不过,一般来说,这是一种不好的做法。通常,您希望将变量作为参数传递给每个函数。看起来是这样的:
输出相同的东西
相关问题 更多 >
编程相关推荐