此代码旨在允许用户输入名称 - 但是如果他们输入数字,则会显示错误('请不要数字!')并提示他们再次输入他们的名字。这个过程将继续循环,直到用户输入一个没有数字字符的字符串。NameError当调用我在def中定义的变量时--Python 3.x
然而,如果用户输入一个字母纯与字符串
if not any(char.isdigit() for char in name):
break
然后,环路将被打破和输入的结果将在以后的程序变成一个列表以供使用。 这里就是错误出现在: 当环路坏了,我得到这个错误:
namelist = list(name.lower().strip(" "))
NameError: name 'name' is not defined
正如你可以看到下面,我已经定义的变量名中输入的结果命名()定义。我究竟做错了什么?谢谢您的帮助!
def naming():
name = input ("please input your name: ")
while any(char.isdigit() for char in name):
print ("\nNo numbers please!\n")
naming()
if not any(char.isdigit() for char in name):
break
naming()
#making the name into a list
namelist = list(name.lower().strip(" "))
名称是局部的功能*。如果你需要在外面访问它,则返回并分配它。 – jonrsharpe
您的缩进不正确,请在您的问题中再次查看。 –