M小姐 发表于 2021-5-6 15:30:34

求大神分析以下这个简单的代码

零基础学习Python第005讲课后习题动动手1
以下是我打入的代码,可是无论输入任何年份,打印结果都是平年。附有运行截图
求大神帮忙分析下我写的代码,谢谢🙏🙏🙏
要求是:写一个程序,判断给定年份是否为闰年。
print('请输入年份:',end = '')
temp = input()
year = int(temp)
if isinstance(year/400,float):
    print('平年')
else:
    print('闰年')

柿子饼同学 发表于 2021-5-6 15:37:30

本帖最后由 柿子饼同学 于 2021-5-6 15:39 编辑

你这个代码有一个缺陷,因为py中除法都是小数哦>>> 4 / 2
2.0
>>> 9 / 3
3.0
另外.被100整除的不是闰年

M小姐 发表于 2021-5-6 15:39:02

柿子饼同学 发表于 2021-5-6 15:37
你这个代码有一个缺陷,因为py中除法都是小数哦

哦哦,所噶!!!
太感谢了{:5_100:}

柿子饼同学 发表于 2021-5-6 15:41:38

M小姐 发表于 2021-5-6 15:39
哦哦,所噶!!!
太感谢了

正确代码: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, "不是闰年!")
仅供参考{:10_256:}

M小姐 发表于 2021-5-6 18:07:37

柿子饼同学 发表于 2021-5-6 15:41
正确代码:
仅供参考

谢谢您,您的代码我也保存在作业记录中了{:5_95:}。
其实我刚去学了第六讲的内容,尝试了运用取余数 “%” 这个运算符。
下面是我重新修改的{:5_91:}
print('请输入年份:',end = '')
temp = input()
year = int(temp)
if (year % 400) != 0:
    print('平年')

else:
    print('闰年')

柿子饼同学 发表于 2021-5-6 18:12:19

本帖最后由 柿子饼同学 于 2021-5-6 18:16 编辑

M小姐 发表于 2021-5-6 18:07
谢谢您,您的代码我也保存在作业记录中了。
其实我刚去学了第六讲的内容,尝试了运用取余数 “% ...

哎,闰年的话是4的倍数,不是100的倍数    或者是400的倍数{:10_245:}
你怎么那么喜欢400...

柿子饼同学 发表于 2021-5-7 14:28:25

M小姐 发表于 2021-5-6 18:07
谢谢您,您的代码我也保存在作业记录中了。
其实我刚去学了第六讲的内容,尝试了运用取余数 “% ...

有帮助记得评最佳答案,蟹蟹
页: [1]
查看完整版本: 求大神分析以下这个简单的代码