gpt4 book ai didi

python - “无类型”错误

转载 作者:行者123 更新时间:2023-12-01 03:30:59 25 4
gpt4 key购买 nike

我是Python新手,我看过其他代码,但不知道如何从我的代码中删除nonetype错误,

tutorial = input("Do you want to do the tutorial? 1 is yes and 0 is no, this will be the same for everything")
if tutorial <1:
print("That isn't valid")
if tutorial>0:
print("That isn't valid")
if tutorial == 1:
print("In battle you can use either sword, magic or items. Sword damage will be between your minimum and maximum damage, magic will be constant and can be used to heal or attack, items can be used to boost attack, restore health or armour")

我收到此错误:

Traceback (most recent call last):
File "<string>", line 250, in run_nodebug
File "C:\Users\Bas\Desktop\Game.py", line 50, in <module>
tutorial = input("Do you want to do the tutorial? 1 is yes and 0 is no, this will be the same for everything")
TypeError: 'NoneType' object is not callable

完整代码如下:

playerhealth = 100
playerlow = 10
playerhigh = 30
playerarmour = 50
playermagic = 20
level = 0
xptonextlevel = 200
itemuse = 0

rookhealth = 100
rooklow = 10
rookhigh = 20
rookarmour = 100

medichealth = 150
mediclow = 10
medichigh = 30
medicarmour = 50

rushhealth = 20
rushlow = 10
rushhigh = 10
rusharmour = 30

drillerhealth = 30
drillerlow = 50
drillerhigh = 80
drillerarmour = 20

dragonhealth = 200
dragonlow = 150
dragonhigh = 250
dragonarmour = 150
dragonmagic = 100
dragonl = 45

godhealth = 300
godlow = 250
godhigh = 350
godarmour = 250
godmagic = 200
godl = 50

magehealth = 100
magearmour = 0
magemagic = 50
magel = 10

tutorial = input("Do you want to do the tutorial? 1 is yes and 0 is no, this will be the same for everything")
if tutorial <1:
print("That isn't valid")
if tutorial>0:
print("That isn't valid")
if tutorial == 1:
print("In battle you can use either sword, magic or items. Sword damage will be between your minimum and maximum damage, magic will be constant and can be used to heal or attack, items can be used to boost attack, restore health or armour")

se = input("Input 1 for story or 0 for endless")

最佳答案

您收到此错误是因为标识符 input 已被分配值 None。在代码中的某个位置,必须执行以下行。

input = None

NoneType 是单例常量 None 的类型。如果您尝试这样做,您将收到相同的错误:

>>> None("Do you want to do the tutorial?")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable

Python 不会阻止您使用新值覆盖内置函数。有时重新定义函数 print 可能会很有用。但在正常情况下,使用 inputlistint 等作为变量名是一个坏主意,因为这可能会导致诸如此类的错误一个。

您可以通过使用字典而不是声明很长的变量列表来减少意外覆盖标识符的可能性。

gamestate = {
'playerhealth': 100,
'playerlow': 10,
'playerhigh': 30,
'input': None,
'else': 42,
...

您可以使用任何字符串作为字典键,而不必担心隐藏内置项。

关于python - “无类型”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40941322/

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