python新手,尝试完成一项任务,要求用户输入两个最大和两个最小的数字求和,数字0表示输入结束,无法理解代码为什么不工作
b = 0
c = 0
b2 = 0
c2 = 0
for i in range(-30000, 30000):
a = int(input())
if a == 0:
break
elif a > b:
b = a
elif a < c:
c = a
elif a >= b-1:
b2 = a
elif a <= c+1:
c2 = a
print(b, b2, c, c2)
summ1 = b + b2
summ2 = c + c2
print(summ1, summ2)
b-最大数,c-最小数,b2-第二大数,c2-第二小数
输入数字并运行代码后,变量b2和c2始终为0,但最大和最小的数字仍然有效
如果值大于
b
,则不仅需要设置新的b
,还需要将旧的b
移动到b2
:其余的
elif
语句是错误的。数字必须大于b2
或小于c2
我看到您正在尝试学习Python,所以让我给您一些关于如何更简单地解决问题的一般提示:
max()
和min()
函数李>一个简单的python提示:您的
for i in range(-30000, 30000):
实际上是一个“永远的”:在python中,我们使用while True:
相关问题 更多 >
编程相关推荐