我正在尝试创建一个函数,如果不是整数,则允许我循环遍历用户输入,如果是整数,则中断。此处,每次调用函数时,将采用输入的变量不能相同。
def intry():
global a # intry(b) should change global a to global b
while True:
try:
a = int(raw_input()) # intry(b) should do b = int(raw_input())
except ValueError:
print 'Try again'
else:
return a # expecting return b
intry()
intry()
print a + a # then i can print a + b
正如您可能通过上述代码的注释所理解的那样,函数中的输入实际上并不会改变结果,而是会改变变量。如果未提供任何输入,则变量应为'a'或默认情况下为
答案 0 :(得分:0)
您正在调用函数,但没有存储或使用该函数的结果,我真的想对您的代码进行处理,您可以像这样:
print (intry()+intry())
或:
a = intry()
b = intry()
print (a + b)
输出:
23
4
27
完整代码:
def intry():
while True:
try:
a = raw_int(input("enter number:"))
except ValueError:
print ('Try again')
else:
return a
print (intry()+intry())
输出:
enter number:3
enter number:4
7