def user_input():
x = input("Choose :Charizard, Blastoise, or Venusaur: ")
if x in "char":
user_choice = "Charizard"
elif x in "blast":
user_choice = "Blastoise"
elif x in "ven":
user_choice = "Venusaur"
return user_choice
user_input()
print(user_choice)
erorr=NameError:未定义名称“用户选择”
我想稍后使用user_选项
基本上,你要检查这些字符是否在字符串中,而不是在相反的位置。见下文:
但我建议您通过将选项显示为数字,然后他们从列表中输入数字,从而使代码更加健壮。您还可以添加一些验证,以确保他们只输入这三个名称中的一个,这样您就不会出现未定义的错误
编辑
另外,正如其他一些人指出的那样,你没有保存回报的输出。例如,当您有任何函数时,让我们说:
如果调用
x = main()
,那么x='Hello World'
在您的示例中,您试图在作用域之外访问该变量,而不是将函数的返回保存在任何位置。看一看我的代码,它应该按照您的要求运行如果你问为什么不给
user_choice
一个None
的值,那是因为你从来没有定义过user_choice
如果那些If语句都不是真的您希望您的代码更像这样。您的代码中有多个错误,我已全部修复
因为您没有保存从方法返回的内容
这样就行了
编辑
if x in "char"
表示如果x为“char”的子字符串,则返回true。根据我的理解,你想说如果x正好等于“char”,那么user_choice = "Charizard"
那么代码如下:相关问题 更多 >
编程相关推荐