加油吧猪大帅 发表于 2020-6-12 18:02:31

新人

year = input('请输入一个年份:')
while not year.isdigit():
    year = input("抱歉,您的输入有误,请输入一个整数:")
time =5
while time>0:
    year = input('请输入一个年份:')
    year = int(year)
    if year % 400 == 0:
      print(year, "是世纪闰年!")
    else:
      if year % 4 == 0 and year % 100 != 0:
            print(year, "是闰年!")
      else:
            print(year, "不是闰年!")
    time=time-1




请问为什么第一次输入没结果,后面开始才有结果

Twilight6 发表于 2020-6-12 18:09:39

本帖最后由 Twilight6 于 2020-6-12 18:11 编辑

因为你第一段代码就是:
year = input('请输入一个年份:')
而直到循环里也没有进行判断 所以就没有结果,把第二个while 循环的 input 和 int 那两段代码移动到循环最后即可

但是要记住你外面输入了一次所以虽然你 time = 5 但是实际上你有 6 次机会
year = input('请输入一个年份:')
while not year.isdigit():
    year = input("抱歉,您的输入有误,请输入一个整数:")
year =int(year)
time =5
while time>0:
    if year % 400 == 0:
      print(year, "是世纪闰年!")
    else:
      if year % 4 == 0 and year % 100 != 0:
            print(year, "是闰年!")
      else:
            print(year, "不是闰年!")
    year = input('请输入一个年份:')
    while not year.isdigit():
      year = input("抱歉,您的输入有误,请输入一个整数:")
    year = int(year)
    time=time-1


wuguiyou888 发表于 2020-6-12 18:09:47

你的第一句是最先的imput 而第二句是 while裡面的input

wuguiyou888 发表于 2020-6-12 18:10:58

你要在while前檢測是否閏年 如果不是 或者有誤 才while 如果是的話就不要執行while裡面的語句

加油吧猪大帅 发表于 2020-6-12 23:16:53

Twilight6 发表于 2020-6-12 18:09
因为你第一段代码就是:

而直到循环里也没有进行判断 所以就没有结果,把第二个while 循环的 input 和 i ...

大大,如果回答的次数跟设置的次数一样,该怎么改?

加油吧猪大帅 发表于 2020-6-12 23:19:20

wuguiyou888 发表于 2020-6-12 18:10
你要在while前檢測是否閏年 如果不是 或者有誤 才while 如果是的話就不要執行while裡面的語句

{:9_237:}不是很懂...有没命令

Twilight6 发表于 2020-6-12 23:22:36

加油吧猪大帅 发表于 2020-6-12 23:16
大大,如果回答的次数跟设置的次数一样,该怎么改?



print 设置默认参数,end = '' 让他不换行,把 input 写在循环里就好了
time =5
print('请输入一个年份:',end='')
while time>0:
    year = input()
    while not year.isdigit():
      year = input("抱歉,您的输入有误,请输入一个整数:")
    year = int(year)
    time=time-1
    if year % 400 == 0:
      print(year, "是世纪闰年!")
    else:
      if year % 4 == 0 and year % 100 != 0:
            print(year, "是闰年!")
      else:
            print(year, "不是闰年!")
    if time != 0:
      print('请输入一个年份:',end='')
    else:
      print('你的所有查询次数用完了!')
页: [1]
查看完整版本: 新人