重置一个while循环内的最大值
问题描述:
我想确定有多少次数值超过了先前的输入。下面的代码适用于1,7,9,0(两次7,超过1,9超过7),但在1,5,2,4,3,0上失败。我得到的,这是因为我的最大为5,课程2和4都小于5。我想不出该怎么做“复位”最大回1重置一个while循环内的最大值
a = int(input())
counter = 0
highest = 1
while a != 0:
if a > highest:
highest = a
counter += 1
a=int(input())
# need to reset highest to next input of 'a'
print(counter)
感谢您的耐心。还有一位老先生看我是否已经脑死亡了。对不起,如果这是一个愚蠢的问题,我只是没有看到它。另外,当然我下面,我不能使用任何亲密,但如果,否则,而没有列表或任何
答
first_num = int(input())
incremental_count = 0
while first_numv != 0:
second_num = int(input())
if second_num != 0 and first_num < second_num:
incremental_count += 1
first_num = second_num
print(incremental_count)
一旦我解决了我的路,这是给出的答案是更聪明,更简单!
您的预期产出是多少?什么“失败”?听起来对我很好。 –
对于第一个例子,代码应该返回2,因为7高于1并且9高于7.第二个例子返回1,仅计数高于1的五个:因为maximum设置为5,事实上4是不计算高于2。我正在寻找一种方法,在计算第一个实例后最大值被重置,这样4将被识别为高于2,并且返回的计数为2而不是1 – user1478335
确定通过插入elif子句来解决:elif a user1478335