2016-03-07 38 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,这就是为什么代码已经跳过。

相关问题