keepgoing = True
num1 = int(input("Enter a Number"))
num2 = int(input("Enter a Number"))
bignums = 0
smallnums = 0
counter = 0
while keepgoing:
if num1 > num2:
bignums = bignums + num1
smallnums = smallnums + num2
else:
bignums = bignums + num2
smallnums = smallnums + num1
counter + 1
if num1 == 0:
keepgoing = False
print (bignums / counter)
print (smallnums / counter)
我写的节目: 编写一个输入数字对的程序,直到该对中的第一个数字为0.对于较小的数字,程序将为最小数字添加最小数字,对于最大数字,将最大数字添加到总数。退出循环后,它将打印较小数字的平均值,较高数字的平均值以及输入的最高和最低数字。
我认为我做的一切都是正确的,但是当你输入" 0"时它不会结束/退出循环。此外,我不知道如何让它显示最高和最低的数字。有人可以帮帮我吗?
答案 0 :(得分:1)
按照@Joseph的建议做这样的事情,保留循环中数字的条目:
keepgoing = True
bignums = 0
smallnums = 0
counter = 0
while keepgoing:
num1 = int(input("Enter a First Number"))
num2 = int(input("Enter a Second Number"))
if num1 > num2:
bignums = bignums + num1
smallnums = smallnums + num2
else:
bignums = bignums + num2
smallnums = smallnums + num1
counter += 1
if num1 == 0:
keepgoing = False
print "Average of big numbers", bignums / counter
print "Average of small numbers", smallnums / counter
如果您处理如果用户同时输入两个数字将会发生的情况,那么也会很好。如果您需要更多帮助,请告诉我
答案 1 :(得分:0)
有一点需要注意的是,Num1永远不会改变,所以如果你把其他东西放到零那么它会被卡住。您可以更改
keepgoing = false
到
break
希望这有帮助!
答案 2 :(得分:0)
num1 = int(input("Enter a Number"))
num2 = int(input("Enter a Number"))
也必须在循环内部以便应用程序终止。