好多天没学习了,005习题判断是否闰年这样是不是简单点?
temp = input("请输入一个年份:")date1 = int(temp)
date2 = date1%400
if date2 == 0:
print("恭喜你,输入的年份是闰年")
while date2 != 0:
temp = input("你输入年份有误,不是闰年,请重新输入:")
date1 = int(temp)
date2 = date1%400
if date2 == 0:
print("恭喜你,输入的年份是闰年")
print("游戏结束") 4的倍数的闰年呢 BngThea 发表于 2017-11-16 21:47
4的倍数的闰年呢
对啊,新手不太会额 根号1989 发表于 2017-11-16 22:34
对啊,新手不太会额
想了下,改成date2 = date1%4是不是就行了呢 根号1989 发表于 2017-11-16 22:52
想了下,改成date2 = date1%4是不是就行了呢
你需要先弄清楚到底什么是闰年 根号1989 发表于 2017-11-16 22:52
想了下,改成date2 = date1%4是不是就行了呢
闰年的判断方法是两个:
1. 是4的倍数,但是不能被100整除;
2. 可以被400整除。
两者任何一个满足,就是闰年。
因此,你的条件没有列完整。 老笨啊 发表于 2017-11-17 06:02
闰年的判断方法是两个:
1. 是4的倍数,但是不能被100整除;
2. 可以被400整除。
哦知道了,谢谢指导 temp = input("请输入一个年份:")
while not temp.isdigit():
temp = input("抱歉,您的输入有误,请输入一个整数:")误
date1 = int(temp)
date2 = date1%400
date3 = date1 %4
date4 = date1%100
if date2 == 0:
print("恭喜你,输入的年份是闰年")
else:
if date3 ==0 and date4 != 0:
print("恭喜你,输入的年份是闰年")
else:
print("你输入年份有误,不是闰年")
print("游戏结束")
周末练习了一下,这个貌似可以了 给楼主分享一下我的程序
y=int(input(""))
if y%4==0 and y%100!=0 or y%400==0:
d=366
else:
d=365
print(d*24*60*60)
个人觉得:1.变量名越少越好,否则不利于阅读,楼主用了好几个date会不会自己都把自己搞晕了呀{:10_266:}
2.特地跑去研究了一下闰年的问题,闰年的定义是每四年一次,但如果当年是100的倍数,又不是400的倍数,那这一年不算做闰年。分享一个百度知道对闰年这样定义的原因的解释:在公历的编写上,每四年闰一天是有原因的,是因为地球的自转时间是23小时56分,这样每四年就必须多一天,而多一天的话,还是不够精确,会有极小的误差,所以每400年只能多出97天,这就是现行的最精确的公历,所以公历会规定,逢正百的年份,必须被400整除,才是闰年。 雪融 发表于 2017-11-25 13:55
给楼主分享一下我的程序
y=int(input(""))
大神,这个定义的d及后面print的内容没看懂啊 学习一下 根号1989 发表于 2017-11-25 16:04
大神,这个定义的d及后面print的内容没看懂啊
这个是我的问题_(:зゝ∠)_以前学C语言养成的字母做变量名的坏习惯。
其实我的d意思是day,表示天数,d=366表示是闰年所以有366天,d=365表示是平年所以有365天。y意思是year,表示年份。这是为了解课后作业001判断一年有多少秒写的程序,你不用看后面那些的,判断闰年只用看这一句:
if y%4==0 and y%100!=0 or y%400==0:
#如果年份是400的倍数或年份是4的倍数但不是100的倍数,则是闰年
思路其实和你的程序是一样的哈~只是看到你的判断写了好几行,蛮复杂的,变量也有好几个容易头晕,所以给你看个简化版的参考一下。另外加上前面看你在问闰年的判断,所以特地跟你分享一下闰年的判断原理~ 雪融 发表于 2017-11-25 13:55
给楼主分享一下我的程序
y=int(input(""))
感谢分享
页:
[1]