【发布时间】:2017-12-08 05:01:37
【问题描述】:
我目前正在使用 sublime text 3。我正在尝试提示用户输入字符串,检查字符串长度并存储该字符串,但是在尝试时遇到“NoneType 错误”。目前看起来是这样的。
from cs50 import get_string
while True:
name_input = get_string("Welcome to Ocorn, a text-based RPG.\nChoose a name between 1 and 10 characters: ")
if len(name_input) <= 10 and len(name_input) >= 1:
break
player.name = name_input
【问题讨论】:
-
player被分配到其他地方了吗? -
是的,它被定义为一个函数,但这不是问题。
-
“它被定义为一个函数”听起来确实可能是问题所在。你是什么意思?播放器是函数吗?还是在函数内部定义?在这两种情况下,这都行不通。我敢打赌,你在这个范围内定义了类似
player=None的东西,然后通过player=Player()但在一个函数内为玩家分配了一些东西。请注意,这不起作用,因为第二次分配是在函数范围内完成的,并且在返回时会丢失。 -
没关系,因为当我删除该变量时,仍然会引发错误。在 "if len(name_input) = 1:"
标签: python string nonetype getstring