错在哪里?
temp = input("请输入一个新的数字:")
numer=int(temp)
while isinstance(number,int):
if (number%4==0 and number%100==0) or number%400==0:
print(temp+"是闰年!")
else:
print(temp+"是平年!")
else:
print("请重新输入一个新的数字:") 底下else缩进 错是什么? 不知道你所说的错是指的什么。是程序运行错误,还是没有得到预期的结果
if (number%4==0 and number%100==0) or number%400==0:
#改为
if (number%4==0 and number%100!=0) or number%400==0:
另外你好像对 while…else…结构 理解的不对吧?
while…else…结构 是当while循环正常结束(不是通过break跳出循环)的时候,执行else,这是while巡检已经结束了,不会再回到循环内。你这个在else中打印让再次输入是不是不对啊?
1. 变量名拼写错误,你前面的 number 拼成了 numer
2. 第四行的 if 语句的冒号使用的是中文的符号,而且 number%100==0 条件应改为 number%100!=0
3. 代码缩进有些不规范,不需要空这么多,一个缩进(即四个空格)即可
4. 你的 number 将 temp 通过 int 函数转为整型了,在通过 isinstance 判断会导致永远成立
5. while 循环过程没有 break 也没有改变循环条件的语句,导致死循环
参考代码:
print("请输入一个新的数字:", end='')
while True:
temp = input()
number = int(temp)
if (number % 4 == 0 and number % 100 != 0) or number % 400 == 0:
print(temp + "是闰年!")
else:
print(temp + "是平年!")
print("请继续输入一个新的数字:", end='')
第2行应该是 number=int(temp)
页:
[1]