gpt4 book ai didi

python - 变量未定义错误

转载 作者:行者123 更新时间:2023-11-28 22:38:20 25 4
gpt4 key购买 nike

我一直在研究使用 pygame 和 python 开始游戏开发,但在定义具有参数的函数时遇到了麻烦。第一个有效,我正在尝试制作一个只有一个参数的更简单的版本。它一直说 c 明确定义时未定义。我不明白为什么。对此有什么建议或想法吗?我也在吃

def fugu_tip(price, num_plates, tip):
total = price * num_plates
tip = total * (tip / 100.)
return tip

def Character(c):
a = input("Enter a number 1 - 100")
b = input("Enter A Number 1 - 100")
c = 0
c = a + b
return c

Character(c)

感谢大家的帮助!这是我的项目修改后的代码:'$' 导入pygame 随机导入 全局现金 全局名称 全局公共(public)卫生 全局饥饿 全局职位 全局 PE 员工

def Character1():  
Cash = 0
PName = raw_input("Please Enter Name: ")
PHealth = 100
PHunger = 100
PJob = ""
PEmployeed = False
print PName, Cash, PHealth, PHunger, PJob, PEmployeed

Character1()

'$'

最佳答案

我将重新编写您拥有的一些代码,而不是完全重写。你缺少的是范围。在内部,您的函数 c 已被 定义。但是,在您的函数之外,您正试图传入一个名为 c 的 undefined variable 。

这是您的代码,已修复。

#it's true that by convention, functions generally start with lowercase
# and Classes being with uppercase characters
def character(c = 0):
a = input("Enter a number 1 - 100")
b = input("Enter A Number 1 - 100")
return c * (a + b)
myValue = 3 #note that the variable that you pass in
# to your function does not have to have the same name as the parameter
character(myValue)

请注意,我修改了函数的行为,以便使用参数 c。现在,输入参数 c 用于乘以两个用户输入的总和。当我调用该函数时,c 的值变为 3,因此用户输入的内容将被添加然后乘以 3。

此外,def character(c):def character(c=0): 之间也有区别。在第一种情况下,调用函数时必须将值传递给函数。在第二种情况下,您可以跳过将值传递给函数,因为我们已经使用默认 参数值定义了函数。所以第二个函数可以直接调用:

character(3) 
character()

但第一个只能被正确调用

character(3)

关于python - 变量未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35664294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com