本帖最后由 JessiFly 于 2018-8-5 11:21 编辑
因为当第一、二次输入后还在while循环内,没有执行到year = int(temp)语句,当第三次输入后会结束循环,并开始执行year = int(temp)语句,如果是第三次输入的temp是非数字时,不能将非数字转换为int型。
我觉得可以加一句if temp.isdigit():语句
- times = 3
- temp = input("请输入一个年份:")
- while not temp.isdigit() and (times > 0):
- times = times - 1
- if times > 0:
- temp = input("抱歉,你的输入有误,请输入一个整数:")
- else:
- print("机会用光了!")
- if temp.isdigit(): #这里添加的语句
- year = int(temp)
- if year/400 == int(year/400):
- print(temp + "是闰年!")
- else:
- if(year/4 == int(year/4)) and (year/100 != int(year/100)):
- print(temp + "是闰年!")
- else:
- print(temp + "不是闰年!")
- print("游戏结束,不玩啦")
复制代码