2017-04-13 131 views
-3
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 

当我执行此操作时,我的输入被打印出来而没有其他东西。 帮我解决这个难题为什么return语句不能在else语句中工作

+2

你的代码片段工作,你怎么调用'ask()'方法?或者你的问题到底是什么?如果你想得到这个函数的结果,你需要打印它或者将它分配到某个地方。 – birryree

+2

否...有效输入被打印为“正确”,并且正方形返回到主程序。此代码中没有内容输出输入值。 – Prune

+0

当'return'语句退出函数时,不需要'break'。 – bernie

回答

0

你只需要稳定物价变量与功能,以获得return语句工作的回报:

一个=问()

例如用IPython中:

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