Python 3.x 返回未定义变量的程序(python)
为了让下面的代码正常工作,当用户输入一个整数来尝试分配性别时,它仍然返回未定义的变量。你将如何解决这个问题Python 3.x 返回未定义变量的程序(python),python-3.x,variables,undefined,Python 3.x,Variables,Undefined,为了让下面的代码正常工作,当用户输入一个整数来尝试分配性别时,它仍然返回未定义的变量。你将如何解决这个问题 #define the function for the physical characteristics question def physical_characteristics_question (question, answer1, answer2, answer3) : print (question) print ('1. ' + answer1) pr
#define the function for the physical characteristics question
def physical_characteristics_question (question, answer1, answer2, answer3) :
print (question)
print ('1. ' + answer1)
print ('2. ' + answer2)
print ('3. ' + answer3)
while True:
variable = (input('Please enter a number: '))
while True:
#repeats question if a type other than integer is entered
try:
int(variable)
break
except ValueError:
variable = 0
continue
#repeats question if a number out of range is entered
if int(variable) >= 1 and int(variable) <= 3:
break
return int(variable)
physical_characteristics_question ("What is your gender?", 'male', 'female', 'other')
if (variable) == 1:
gender = 'male'
elif (variable) == 2:
gender = 'female'
else:
gender = 'other'
#定义物理特性问题的函数
定义物理特征问题(问题、答案1、答案2、答案3):
打印(问题)
打印('1.'+回答1)
打印('2.'+回答2)
打印('3.'+回答3)
尽管如此:
变量=(输入('请输入一个数字:'))
尽管如此:
#如果输入了整数以外的类型,则重复问题
尝试:
int(变量)
打破
除值错误外:
变量=0
持续
#如果输入的数字超出范围,则重复问题
如果int(variable)>=1且int(variable)您的函数物理特性\u问题
没有将其结果返回给任何变量。尝试这样做:
variable = physical_characteristics_question ("What is your gender?", 'male', 'female', 'other')
您没有将返回值分配给任何对象;dovariable=physical\u characteristics\u提问(“你的性别是什么?”,…)
。您在函数中指定的变量仅在该函数中可用。已修复,非常感谢!