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')

您没有将返回值分配给任何对象;do
variable=physical\u characteristics\u提问(“你的性别是什么?”,…)
。您在函数中指定的变量仅在该函数中可用。已修复,非常感谢!