2017-04-13 140 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