如何解决返回函数不保存值,后来您调用了变量,它说变量未定义
我正在用Python编写一个函数,在其中接受用户输入并对其进行验证。稍后,我使用return将其保存到变量中。 但是在调用变量后,它说变量未定义。
def user_input():
position = 'wrong'
position_range = range(1,10)
within_range = False
while position.isdigit == False or within_range == False:
position=input('select the postion from (1-10): ')
if position.isdigit()==False:
print('hey! thats not a valid input')
elif position.isdigit()==True:
if int(position) in position_range:
within_range=True
else:
print('hey! thats out of range')
within_range=False
return int(position)
user_input()
print(position)
解决方法
函数外部没有位置变量,因此代码无法识别它。
你必须
print(user_input())
在代码末尾获得所需的结果,或更明确地说,您可以将user_input()的结果分配给变量并打印出来
x=user_input()
print(x)
,
由于范围有限,您无法在函数外部访问变量位置。变量的范围在函数user_input()
中,并且只能在其中访问。要在外部访问它,您需要执行以下操作:
position = user_input()
print(position)
,
返回工作的方式是您可以执行以下操作:
variable = function()
无论function()返回什么,都将分配给该变量。 您应该执行以下操作:
position = user_input()
print(position)
顺便说一句,我建议对位置使用不同的名称,因为它也在函数内部使用,但是由于该位置是在函数内部定义的,因此它仅存在于函数的作用域中,并且与位置不同外。因此,您应该使用不同的名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。