我正在写一个程序,在这个程序中,用户在列表中输入值,直到想要结束它,程序会告诉用户他们输入的最长的数字。例如,如果用户输入7,7,6,6,4,则最终将得到输出:您的最长连线是3。因为连续输入了3次7。
到目前为止,我已经有了这个,它似乎不想结束当前的运行,所以如果我输入7,7,7,6,6,6,5,4,它会告诉我最长的连线是7,就像它继续从7开始的连线一样。这就是我所拥有的:
mylist = []
run = 1
currentrun = 1
number = input('enter a number: ')
mylist.append(number)
while number != 'end' :
number = input ('enter a number: ')
mylist.append(number)
for i in range (len(mylist)):
if mylist[i] == mylist[i-1] and mylist[i] == mylist[i+1] :
currentrun = currentrun + 1
else:
currentrun = 0
print (currentrun)
if currentrun > run:
run = currentrun
print (mylist)
print ('Your longest run was' ,run)任何帮助都是非常感谢的。
发布于 2015-03-04 02:54:12
尝尝这个
mylist = []
while True:
mylist.append(int(raw_input("enter number:")))
streak = 0
cur, last = 0, None
for num in mylist:
if num == last:
curr += 1
else:
streak = max(streak, cur)
last = num
cur = 0
print("longest run was ",streak)https://stackoverflow.com/questions/28839607
复制相似问题