很抱歉,这个问题的措词有点差,但我似乎在任何地方都找不到有关此练习的帮助。我正在编写一个基本的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
如果两个数字相等,我希望脚本再次循环返回,如果输入的数字再次相等,我希望程序结束。使用提供的代码,我遇到的问题是,当我输入两个相等的数字时,它会不断循环直到输入两个不同的数字。
您可以在第一个if
语句中再次添加给定输入代码,或使用其他一些虚拟变量进行循环,以便您可以中断循环,例如当您在第一个while j == 0
语句中时,使用j += 1
并将其增加if
您可能希望有一个变量来跟踪数字匹配的次数。然后,如果该计数器(跟踪匹配)超过某个阈值,则执行某些操作。尝试类似的东西
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
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