鱼C论坛

 找回密码
 立即注册
查看: 731|回复: 6

[已解决]新人

[复制链接]
发表于 2020-6-12 18:02:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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  




请问为什么第一次输入没结果,后面开始才有结果
最佳答案
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('你的所有查询次数用完了!')
微信图片_20200612180124.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 18:09:47 From FishC Mobile | 显示全部楼层
你的第一句是最先的imput 而第二句是 while裡面的input
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 18:10:58 From FishC Mobile | 显示全部楼层
你要在while前檢測是否閏年 如果不是 或者有誤 才while 如果是的話就不要執行while裡面的語句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-12 23:16:53 | 显示全部楼层
Twilight6 发表于 2020-6-12 18:09
因为你第一段代码就是:

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

大大,如果回答的次数跟设置的次数一样,该怎么改?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-12 23:19:20 | 显示全部楼层
wuguiyou888 发表于 2020-6-12 18:10
你要在while前檢測是否閏年 如果不是 或者有誤 才while 如果是的話就不要執行while裡面的語句

不是很懂...有没命令
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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('你的所有查询次数用完了!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 16:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表