空城空白 发表于 2020-6-8 16:32:41

while语句不知道哪里错,帮帮小白

print('输入一个年份:',end=' ')
temp = input()
while not isinstance(temp,int):
    temp = input("抱歉,您的输入有误,请输入一个整数:")
year = int(temp)
if (year % 4 == 0) and (year % 100 != 0):
    print(temp + "这是闰年")
elif year % 400 == 0:
    print(temp + "这是闰年")
else:
    print("这不是闰年")


不管输入什么都是重复while循环语句

Twilight6 发表于 2020-6-8 16:34:23

本帖最后由 Twilight6 于 2020-6-8 16:35 编辑

因为 input 返回的是字符串类型 不能通过isinstance方法来判断是否是整型

用字符串方法 isdigit() 若字符串只包含数字 返回 True 否则 返回 False


print('输入一个年份:',end=' ')
temp = input()
while not temp.isdigit():
    temp = input("抱歉,您的输入有误,请输入一个整数:")
year = int(temp)
if (year % 4 == 0) and (year % 100 != 0):
    print(temp + "这是闰年")
elif year % 400 == 0:
    print(temp + "这是闰年")
else:
    print("这不是闰年")

qiuyouzhi 发表于 2020-6-8 16:34:33

input接收的输入永远是字符串,你可以用isdigit

xiaosi4081 发表于 2020-6-8 16:59:11

Twilight6 发表于 2020-6-8 16:34
因为 input 返回的是字符串类型 不能通过isinstance方法来判断是否是整型

用字符串方法 isdigit() 若字 ...

牛,最佳一天不到就上涨了好多

Twilight6 发表于 2020-6-8 17:01:20

xiaosi4081 发表于 2020-6-8 16:59
牛,最佳一天不到就上涨了好多

{:10_266:}
页: [1]
查看完整版本: while语句不知道哪里错,帮帮小白