如何进行一定次数的尝试后如何退出continue语句?

问题描述 投票:0回答:3

很抱歉,这个问题的措词有点差,但我似乎在任何地方都找不到有关此练习的帮助。我正在编写一个基本的Python脚本,该脚本将两个数字加在一起,但是如果输入的两个数字相同,则将不计算总和。

while True:
   print('Please enter a number ')
   num1 = input()
   print('Please enter a second number ')
   num2 = input()

   if num1 == num2:
       print('Bingo equal numbers!')
       continue
   elif num1 == num2:
       print('It was fun calculating for you!')
       break
   print('The sum of both numbers is = ' + str(int(num1) + int(num2)))
   break

如果两个数字相等,我希望脚本再次循环返回,如果输入的数字再次相等,我希望程序结束。使用提供的代码,我遇到的问题是,当我输入两个相等的数字时,它会不断循环直到输入两个不同的数字。

python
3个回答
0
投票

您可以在第一个if语句中再次添加给定输入代码,或使用其他一些虚拟变量进行循环,以便您可以中断循环,例如当您在第一个while j == 0语句中时,使用j += 1并将其增加if


0
投票

您可能希望有一个变量来跟踪数字匹配的次数。然后,如果该计数器(跟踪匹配)超过某个阈值,则执行某些操作。尝试类似的东西

matches = 0
while True:
    num1 = input('Please enter a number: ')
    num2 = input('Please enter a second number: ')

    if num1 == num2 and matches < 1:
        matches += 1
        print('Bingo equal numbers!')
        continue
    elif num1 == num2:
        print('It was fun calculating for you!')
        break
    print('The sum of both numbers is = ' + str(int(num1) + int(num2)))
    break

0
投票

continue跳过循环中所有其他内容的执行。在您的示例中,我认为它没有太大用处。如果要打印sum,则将其删除。

continue的工作方式可以通过此示例进行演示(取自python docs

for num in range(2, 10):
     if num % 2 == 0:
         print("Found an even number", num)
         continue
     print("Found a number", num)

结果

Found an even number 2
Found a number 3
Found an even number 4
Found a number 5
Found an even number 6
Found a number 7
Found an even number 8
Found a number 9
© www.soinside.com 2019 - 2024. All rights reserved.