判断闰年的Python代码被判定存在无限循环,请求排查问题
排查闰年判断代码的"无限循环"报错问题
你的代码逻辑完全没问题,在普通IDE里运行正常是因为你手动输入了年份,而MOOC平台的判题机制和本地/在线IDE不一样——这类平台会自动批量传入测试用例,不需要你写输入提示。
你代码里的input("Please type in a year:")带了提示文本,平台在自动输入测试年份时,会把这个提示当成程序输出的一部分,导致输入读取逻辑混乱,程序一直等待正确的输入,最终被判定为"无限循环"(本质是超时)。
解决方法很简单,把输入语句改成不带提示的版本:
# Write your solution here y = int(input()) if y%4==0: if y%100==0 : if y%400==0: print("That year is a leap year.") else: print("That year is not a leap year.") else: print("That year is a leap year.") else: print("That year is not a leap year.")
另外,你也可以把嵌套的if简化成更简洁的逻辑,可读性更好,效果完全一致:
y = int(input()) if y % 400 == 0 or (y % 4 == 0 and y % 100 != 0): print("That year is a leap year.") else: print("That year is not a leap year.")
内容的提问来源于stack exchange,提问作者john work
相关产品推荐
相关产品推荐

