鱼C论坛

 找回密码
 立即注册
查看: 812|回复: 7

[已解决]零基础学python-005讲课后练习-动动手

[复制链接]
发表于 2020-5-13 21:09:51 | 显示全部楼层 |阅读模式

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

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

x
判断给定年份是否为闰年的代码:
temp = input('请输入一个年份:')
while not temp.isdigit():
    temp = input("抱歉,您的输入有误,请输入一个整数:")
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 + ' 不是闰年!')


请问年份的格式是不是需要界定一下?我输入000,程序也能继续 1589375355(1).jpg
最佳答案
2020-5-13 21:23:08
本帖最后由 liuzhengyuan 于 2020-5-13 21:27 编辑

加一个 if int(temp) <= 0
但是问题是 0 年 也是一个正确的年份呀!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-13 21:15:23 | 显示全部楼层

  1. temp = input('请输入一个年份:')
  2. while not temp.isdigit() or int(temp) == 0:   # 那就限制下呗
  3.     temp = input("抱歉,您的输入有误,请输入一个大于零的整数:")
  4. year = int(temp)
  5. if year/400 == int(year/400):
  6.     print(temp + ' 是闰年!')
  7. else:
  8.     if (year/4 == int(year/4)) and (year/100 != int(year/100)):
  9.         print(temp + ' 是闰年!')
  10.     else:
  11.         print(temp + ' 不是闰年!')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 21:23:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 liuzhengyuan 于 2020-5-13 21:27 编辑

加一个 if int(temp) <= 0
但是问题是 0 年 也是一个正确的年份呀!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 21:26:02 | 显示全部楼层
>=公元前6世纪(春秋中叶)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 22:56:48 | 显示全部楼层
公元元年实际上也算吧 不用忘了人类历史了喂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-14 08:00:53 | 显示全部楼层
字符串 '000' 也能正常转化为整型 0 :

  1. >>> int('000')
  2. 0
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-14 11:01:13 | 显示全部楼层
如下:
  1. temp = input('请输入一个年份:')
  2. while 1 :
  3.     while not temp.isdigit():
  4.         temp = input("抱歉,您的输入有误,请输入一个整数:")
  5.     if int(temp) == 0:
  6.         temp = input("抱歉,您的输入有误,请输入一个大于零的整数:")
  7.     elif int(temp) >=0:
  8.         break
  9. year = int(temp)
  10. if year/400 == int(year/400):
  11.     print(temp + ' 是闰年!')
  12. else:
  13.     if (year/4 == int(year/4)) and (year/100 != int(year/100)):
  14.         print(temp + ' 是闰年!')
  15.     else:
  16.         print(temp + ' 不是闰年!')
复制代码

---------------------------------------------------------------------------------
公元元年不也是一年吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-15 23:54:55 | 显示全部楼层
也是哦~~谢谢各位的回答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 17:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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