王上上 发表于 2018-6-7 00:45:09

python第五课习题中关于‘闰年’的编写代码

#我想拓展一下,如果我加上该判断只有三次机会,当遇到判断为闰年时判断完毕,结束退出。
# 当遇到判断为平年继续循环操作直到三次机会用完,退出。

但我写的这个代码有一个缺陷,一个是第三次之后不进行判断了就结束了,并且也没有显示机会用完了几个字。
{:9_221:} 大概跌进死胡同了,实在找不出该怎么改呢?麻烦鱼油们帮忙看下,万分感谢:

a=int(input('您有三次判断机会,请输入年份:'))
count=1
while count<3:
    if (a%4==0 and a%100!=0) or a%400==0:
      print(str(a)+'是闰年')
      print('判断完毕!退出')
      break
    else:
      print(str(a)+'是平年')
      count+=1
      a=int(input('再来一次哦'))
      continue
      print('机会用完啦!')

凌九霄 发表于 2018-6-7 01:29:23

本帖最后由 凌九霄 于 2018-6-7 01:43 编辑

a = int(input('您有三次判断机会,请输入年份:'))
count = 1
while count < 4:

    if (a % 4 == 0 and a % 100 != 0) or a % 400 == 0:
      print(str(a) + '是闰年')
      print('判断完毕!退出')
      break
    else:
      print(str(a) + '是平年')
      count += 1
      if count == 4:
            print('机会用完啦!')

      else:
            a = int(input('再来一次哦'))

willty 发表于 2018-6-7 08:54:12

    else:
      print(str(a)+'是平年')
      count+=1
      a=int(input('再来一次哦'))
      continue
      print('机会用完啦!')
continue可以去掉,你第三次不分析是因为你的count已经到了3这个次数了,你可以将平年的判断和再来一次分开进行,然后在平年判断中给count加一个嵌套判断,到了次数后直接输出机会用完了然后break,如果count的计数没有到则继续continue.

王上上 发表于 2018-6-7 09:20:55

凌九霄 发表于 2018-6-7 01:29


超级感谢!{:7_146:}
页: [1]
查看完整版本: python第五课习题中关于‘闰年’的编写代码