2016-03-07 39 views
-3

所以我開始使用python和我正在建立一個計算器... 除了它跳過我的一些代碼。我認爲它是我犯的一個錯誤,但我找不到它,它不告訴我有錯誤,所以你們中的任何一個人都可以幫助我? 這是代碼:需要幫助,我的代碼有一個錯誤,我找不到

if Function == '1': 
    Amount = int (input ('How many Numbers do you need to use (9 numbers max and 2 numbers min):')) 
    if Amount == '2': 
     NumberOne = int (input ('Enter The First Number: ')) 
     print '' 
     NumberTwo = int (input ('Enter The Second Number: ')) 
     Answer = NumberOne + NumberTwo 
     def print_slow(str): 
      for letter in str: 
       sys.stdout.write(letter) 
       sys.stdout.flush() 
       time.sleep(0.4) 

     print_slow(str (NumberOne) + ' + ' + str (NumberTwo) + ' = ' + str (Answer)) 

    elif Amount == '3': 
     NumberOne = int (input ('Enter The First Number: ')) 
     print '' 
     NumberTwo = int (input ('Enter The Second Number: ')) 
     print '' 
     Numberthree = int (input ('Enter The Third Number: ')) 
     Answer = NumberOne + NumberTwo + Numberthree 
     def print_slow(str): 
      for letter in str: 
       sys.stdout.write(letter) 
       sys.stdout.flush() 
       time.sleep(0.4) 

     print_slow(str (NumberOne) + ' + ' + str (NumberTwo) + ' + ' + str (NumberThree) + ' = ' + str (Answer))  

如果你需要的所有代碼,然後就問我會很樂意將它張貼....

感謝您的閱讀!

+0

哪部分被跳過? –

回答

0

您在混合使用stringint數據類型,因此比較工作不正常。

考慮這條線。

Amount = int (input ('How many Numbers do you need to use (9 numbers max and 2 numbers min):')) 

您已經鑄造型爲Amountint,但在下一行,

if Amount == '2': 

你比較看重intAmountString '2'。這是你的錯誤所在。上述行更改爲:

if Amount == 2: 

同樣,刪除所有基於INT-比較報價和代碼應工作!

+0

謝謝你們,你們幫助過我,我忘記了整個事情不需要托架。 – SuperSwishySlime

1

您已經轉換amountint,所以當你嘗試比較if Amount == '2':,你不應該增加約2報價,這使得它一個string,而不是int,否則會返回False,這就是爲什麼代碼已經跳過。

相關問題