2014-07-21 123 views
-1

我是一個相當新的程序員,目前我已經被分配了一個項目來創建一個循環計算器,即使在你使用其中一個計算器功能之後,它仍會繼續下去,直到你做出選擇。我的計算器目前的問題是,每當我嘗試在Pydev上測試我的函數時,都會有無休止的終止。我已經解決了第一個問題,Pydev將我的一個變量(選擇)當作未使用讀取的,因此我使用了「ctrl + 1」技巧,並且擺脫了未使用的變量警告。關於如何能夠運行此程序並使其不斷循環的任何提示?Pydev程序不斷終止

def main():  
    loop=1 
    choice=0 # @UnusedVariable 
    while loop == 1: 
     print("Welcome to Calculator Function!") 
     print("Your options are:") 
     print(" ") 
     print("1/) Addition") 
     print("2/) Subtraction") 
     print("3/) Multiplication") 
     print("4/) Division") 
     print("5/) Quit CalculatorFunction.py") 
     print(" ") 

    choice = int(raw_input("Choose your option: ").strip()) 
    if choice == 1: 
     add1 = input("Add what: ") 
     add2 = input("To what: ") 
     print add1, "+", add2, "=", add1+add2 
    elif choice == 2: 
     sub2 = input("Subtract what: ") 
     sub1 = input("From what: ") 
     print sub1, "-", sub2, "=", sub1-sub2 
    elif choice == 3: 
     mult1 = input("Multiply what: ") 
     mult2 = input("To what: ") 
     print mult1, "*", mult2, "=", mult1*mult2 
    elif choice == 4: 
     div2= input("Divide what: ") 
     div1= input("From what: ") 
     print div1, "/", div2, "=", div1/div2 
    elif choice == 5: 
     loop = 0 
     print"Thank you for using CalculatorFunction.py have a good day!" 
    else: 
     print"No selection made, please try again."  


if __name__ == '__main__': 
    main() 
+0

* 「不斷終止」 *?我會說它永遠不會終止; 'loop == 1'無限期地保持爲'真'。 – jonrsharpe

+0

它看起來像你想要的是[REPL](http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop)(read-eval-print loop)。目前,我能看到的最明顯的問題是除了'while'循環中的打印以外,你什麼都沒有。如果您正確複製了縮進,則while循環應該永遠運行,除了提示之外什麼也不打印。 –

+0

另外,你是(危險地)混合'input'和'raw_input'。如果你使用的是足夠早的python版本,而'raw_input'是一個選項,那麼你應該不會**使用'input'。當然,角落案例會讓你的生活方式更容易,沒有特別的缺點,但這些非常非常罕見,一個好的經驗法則是假裝他們不存在,直到你更有知識。 –

回答

0

您的if - else塊在while循環之外,這就是爲什麼它不起作用。這裏是正確縮進代碼:

def main():  
    loop=1 
    choice=0 # @UnusedVariable 
    while loop == 1: 
     print("Welcome to Calculator Function!") 
     print("Your options are:") 
     print(" ") 
     print("1/) Addition") 
     print("2/) Subtraction") 
     print("3/) Multiplication") 
     print("4/) Division") 
     print("5/) Quit CalculatorFunction.py") 
     print(" ") 

     choice = int(raw_input("Choose your option: ").strip()) 
     if choice == 1: 
      add1 = input("Add what: ") 
      add2 = input("To what: ") 
      print add1, "+", add2, "=", add1+add2 
     elif choice == 2: 
      sub2 = input("Subtract what: ") 
      sub1 = input("From what: ") 
      print sub1, "-", sub2, "=", sub1-sub2 
     elif choice == 3: 
      mult1 = input("Multiply what: ") 
      mult2 = input("To what: ") 
      print mult1, "*", mult2, "=", mult1*mult2 
     elif choice == 4: 
      div2= input("Divide what: ") 
      div1= input("From what: ") 
      print div1, "/", div2, "=", div1/div2 
     elif choice == 5: 
      loop = 0 
      print"Thank you for using CalculatorFunction.py have a good day!" 
     else: 
      print"No selection made, please try again."  



if __name__ == '__main__': 
    main() 

這對pydev很有效。

+0

謝謝,我早先修好了它,但看起來這個工作比我以前做的工作少。 – StackXchangeT

+0

您應該在eclipse中試用調試器。作爲一名新的程序員,調試是一項非常有用的學習技能。 – user2963623

+0

我今天真的看着那個!我還有很多東西需要學習,我將再次編輯程序,以便向用戶詢問他們想要執行多少功能,並且程序將在用計算器執行這些功能後終止。 @ user2963623 – StackXchangeT

0

感謝您關於「縮進」和其他一些事情的提示,我終於想出了該程序的作品,謝謝大家的意見。我做了什麼來解決我的直接終止問題是修復縮進。然後爲了讓程序不斷循環,如果沒有做出選擇,我添加了繼續,實質上終止程序的唯一方法是選擇列出爲「5」的選項quit。

def main() 
    loop=1 
    choice=0 # @UnusedVariable 
    while loop == 1: 
     print(" ") 
     print("Welcome to Calculator Function!") 
     print("Your options are:") 
     print(" ") 
     print("1) Addition") 
     print("2) Subtraction") 
     print("3) Multiplication") 
     print("4) Division") 
     print("5) Quit CalculatorFunction.py") 
     print(" ") 

     choice = int(raw_input("Choose your option: ").strip()) 
     if choice == 1: 
      add1 = int(raw_input("Add what: ")) 
      add2 = int(raw_input("To what: ")) 
      print add1, "+", add2, "=", add1+add2 
     elif choice == 2: 
      sub2 = int(raw_input("Subtract what: ")) 
      sub1 = int(raw_input("From what: ")) 
      print sub1, "-", sub2, "=", sub1-sub2 
     elif choice == 3: 
      mult1 = int(raw_input("Multiply what: ")) 
      mult2 = int(raw_input("To what: ")) 
      print mult1, "*", mult2, "=", mult1*mult2 
     elif choice == 4: 
      div2= int(raw_input("Divide what: ")) 
      div1= int(raw_input("From what: ")) 
      print div1, "/", div2, "=", div1/div2 
     elif choice == 5: 
      loop = 0 #Ends the program 
      print"Thank you for using CalculatorFunction.py have a good day!" 
     else: 
      print"No selection made, please try again." 
      continue #loops the program 

如果 == '主要': 的main()