TypeError:无法将“NoneType”对象隐式转换为str。这就是当我试图用函数将一个条目硬编码到字典中时所遇到的错误。让用户输入可以工作,并将其放入词典中,但这行不通。我搜索过其他的错误,比如这个(意思是打字错误),但是我什么也没找到。其他两个(This和this)出现此错误的条目与我无关。在
所以。我试着把awerexing和BeingAwesome设为一个打印函数,以为它可以正确地打印到成就词典中,因为只要把awerestitung和BeingAwesome放在那里,就会导致它说需要定义它。然后出现了这个错误。我觉得应该行得通,但不行,我也不知道为什么。有人能帮我吗?在
achievements = {}
AweInspiring = print()
BeingAwesome = print()
def dovar():
global achievements
print('Type in either \'achievement get\' or \'view achievements.\'')
achieve = input()
if achieve == 'view achievements':
print('Achievements')
for x in achievements.keys():
print('Achievement Name: ' + x + '\tFor: ' + achievements[x])
elif achieve == 'achievement get':
achieveget()
elif achieve == 'achieve':
hardachieve()
def achieveget():
print('Add Achievement')
achievename = input('Name of achievement earned: ')
achievedesc = input('How was the achievement earned: ')
achievements[achievename] = achievedesc
dovarloop()
def hardachieve():
achievename = AweInspiring
achievedesc = BeingAwesome
achievements[achievename] = achievedesc
dovar()
def dovarloop():
dovar()
dovar()
在闲暇时编辑它,添加了一个成就,最后为自己感到骄傲,因为它对我来说很好:
我的对话:
^{pr2}$print()
不返回任何内容(默认情况下,它返回None
)。因此,当您执行achievements[achievename] = achievedesc
操作时,python实际上是这样做的:然后你要做的是:
^{pr2}$其中
x
是键None
,achievements[x]
是值(也是None
)但是不能连接字符串和NoneType(因此会出现错误)。在
所以,在最简单形式的代码中(例如示例),您正在尝试这样做:
要解决此问题,可以使
AweInspiring
和BeingAwesome
为空字符串:相关问题 更多 >
编程相关推荐