为什么'NoneType'类型的参数是不可编辑的在我的程序中显示

2024-09-28 22:23:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了这个hangman程序,但每次我运行它都会出现“nonetype”错误 程序正在运行- 每当我输入一个单词,输出是这样的 吊人游戏 猜猜看 一 ----- 你正确地说出了一个词

 -----a---------------

Traceback (most recent call last):
  File "F:/coding/python/python programming for absolute beginners/chapter 5/Hang Man Game.py", line 129, in <module>
    if guess  in used:
TypeError: argument of type 'NoneType' is not iterable

代码:

^{pr2}$

Tags: in程序游戏most错误call单词file
2条回答

你不能这样做

used = used.append(guess)

append函数返回None,它在适当的地方修改used。所以你基本上是在右边加上guess,然后把None分配给used。所以下一次迭代while循环,您正试图在None上迭代,这就是错误告诉您的。在

你只需要说

^{pr2}$

或者

used += [guess]

list的成员函数append修改了列表,并且不返回任何内容。在

在第一次迭代中,used是一个空列表,但是当您到达used=used.append(guess)行时,used首先被{}修改,正如您所期望的那样,,然后append(即None)的返回值赋给used。因此,在第二次迭代中,usedNone。在

只需使用appendused.append(guess)更改这两行。在

但是,您的代码还有其他问题,其中之一就是您只要求猜测一次(您可以将guess = raw_input("Guess a word\n")放入循环中)。在

相关问题 更多 >