Python 为什么return语句在else语句中不起作用

Python 为什么return语句在else语句中不起作用,python,python-2.7,Python,Python 2.7,当我执行此操作时,我的输入会被打印出来,而不会显示其他内容。 帮助我解决这个难题您只需使用函数的返回值对变量进行值化,就可以让return语句正常工作: a=问() ipython的示例: def ask(): while True: try: v=int(raw_input('please provide a number')) except: print 'wrong input'

当我执行此操作时,我的输入会被打印出来,而不会显示其他内容。
帮助我解决这个难题

您只需使用函数的返回值对变量进行值化,就可以让return语句正常工作:

a=问()

ipython的示例:

def ask():
    while True:
        try:
            v=int(raw_input('please provide a number'))
        except:
            print 'wrong input'

            continue
        else:
            print 'correct'
            return v**2
            break

您的代码片段工作正常,如何调用
ask()
方法?或者你到底有什么问题?如果您想要函数的结果,您需要打印它或将其分配到某个位置。否。。。一个有效的输入得到“正确”的打印,并且正方形被返回到主程序。此代码中没有任何内容打印输入值。
break
,因为
return
语句退出函数。@Prune:用户打印输入值:),但这是显示输入的唯一原因。(正常,如果输入为0或1,也将显示)可能的重复
In [5]: ask()
please provide a number10
correct
Out[5]: 100


In [6]: a = ask()
please provide a number10
correct

In [7]: print a
100