python逻辑没问题 不知道错在哪?

题目:读取降雨量直到用户输入-1。显示最长的干旱期。干旱期是指一段时间不下雨。我试着根据输出范例以及自己拿数据测了很多次都是正确的 不知道错在哪里。系统自动检测一直判定我对最长干旱期的输出有问题。麻烦帮忙看看,解释一下错在什么地方,要注意什么。
输出范例:

img

import itertools

rainfall_list = []
while True:
    rainfall = float(input('Rainfall: '))
    if rainfall == -1:
        print('Longest dry spell = {}'.format(max([len(list(v)) for k, v in itertools.groupby(rainfall_list)])))
        break
    elif rainfall == 0.0:
        rainfall_list.append(0)
    else:
        rainfall_list.append(rainfall)

系统判定:

img

题目是让你判断最长连续0的个数,你用itertools.groupby做什么?

你题目的解答代码如下:

maxv = 0
n = 0
while True:
    rainfall = float(input('Rainfall: '))
    if rainfall == -1:
        print('Longest dry spell = {}'.format(maxv))
        break
    elif rainfall == 0.0:
        n+=1
        if n>maxv:
            maxv=n
    else:
        n=0

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632