Python 如何在将成为该函数变量的函数中获取输入?

Python 如何在将成为该函数变量的函数中获取输入?,python,function,Python,Function,我试图创建一个函数,如果用户输入不是整数,则允许我循环用户输入,如果是整数,则允许中断。这里,每次调用函数时,接受输入的变量不能相同 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())

我试图创建一个函数,如果用户输入不是整数,则允许我循环用户输入,如果是整数,则允许中断。这里,每次调用函数时,接受输入的变量不能相同

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”或任何值

您正在调用函数,但没有存储或使用函数的结果,如果您真的想使用代码,您可以这样做:

print (intry()+intry())
或:

输出:

23
4
27
enter number:3
enter number:4
7
完整代码:

def intry():
    while True:
        try:
            a = raw_int(input("enter number:"))
        except ValueError:
            print ('Try again')
        else:
            return a

print (intry()+intry())
输出:

23
4
27
enter number:3
enter number:4
7

抱歉,如果很难理解,因为出于某种原因,代码的缩进在我发布时没有保持不变。请使用可用的代码格式选项。我认为这是一种将原始输入的两个整数求和的复杂方法。你为什么要这样做?吉安卢卡·米奇。如果我只是将一个整数作为输入,用户给出一个字符串,那么它将显示一个错误。所以我定义了这个函数,它不接受任何字符串作为输入,并要求您再试一次