如何使用python返回def函数中的输入

时间:2019-05-30 17:02:09

标签: python python-3.x

我是python和定义函数的新手!

我正在编写代码,有时我会问同样的问题,这就是为什么我要为其使用函数。我正在尝试这样:

def cont():
  ans = input("Continue? ")
  return ans

但是它没有在ans上存储任何内容,因为每次我调用它时,都会收到一条错误消息,指出ans尚未声明!

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您的功能没有错。这是一个示例:

def cont():
    ans = input("Continue? ")
    return ans


for i in range(2):
    print(cont())

输出:

Continue? y
y
Continue? n
n

如果您需要在if-statement中使用它:

for i in range(3):
    result = cont()
    if result == 'y':
        print('yes')
    elif result == 'n':
        print('no')
    else:
        print("I don't understand")

输出:

Continue? y
yes
Continue? n
no
Continue? p
I don't understand

但是,如果您现在不打算扩展cont()函数,并对其进行更复杂的操作,那么它就毫无用处,因为您可以在任何使用的地方简单地使用input("Continue? ") cont()

答案 1 :(得分:0)

您的ans仅在cont()函数范围内定义,您不能直接从该函数外部访问它。使用ansreturn ans发送回代码其余部分的方式是最主要的,现在,您只需要将该值存储在可以从其余代码访问的内容中即可。这是一个示例代码,我在while循环的每一遍中都将cont()的输出保存在变量check中。

def cont():
    ans = input("Continue? ")
    return ans

gonna_continue = True

while gonna_continue:
    check = cont()
    if check == "no":
        gonna_continue = False
print("All Done")

样品输出

Continue? 1
Continue? 2
Continue? 5
Continue? sbdj2
Continue? no
All Done