鱼C论坛

 找回密码
 立即注册
查看: 777|回复: 3

[已解决]關於[第005讲:闲聊之Python的数据类型 | 课后测试题]

[复制链接]
发表于 2020-6-15 09:24:53 | 显示全部楼层 |阅读模式

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

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

x
1. 写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的 BIF 进行灵活运用)

这样定义闰年的:能被4整除但不能被100整除,或者能被400整除都是闰年。

問題如下:

year=input("請輸入今年年份: ")
while year.isdigit() == False:
    print("輸入不合法!")
    year=input("請重新輸入:")
year=int(year)
data=year/400
data1=year/4
data2=year/100

if type(data)==type(1) :
    print("該年為閏年")
elif type(data1)==type(1) and type(data2)==type(1.1):
    print("該年為閏年")
else:
    print("該年不是閏年")

或是

if isinstance(data, int)==True :
    print("該年為閏年")
elif isinstance(data1, int)==True and isinstance(data2, int)==False:
    print("該年為閏年")
else:
    print("該年不是閏年")

為什麼這樣是行不通的?
最佳答案
2020-6-15 09:27:54
本帖最后由 Twilight6 于 2020-6-15 09:30 编辑



Python 中除法返回的都是 float 浮点型,而不是整型,你如果想要判断是否被整除应该使用Python 的求余运算符 %

所以你不管是第一种方法 还是 第二种方法 条件永远不会满足

帮你更改了下:

year=input("請輸入今年年份: ")
while year.isdigit() == False:
    print("輸入不合法!")
    year=input("請重新輸入:")
year=int(year)
data=year%400
data1=year%4
data2=year%100

if data == 0:
    print("該年為閏年")
elif data1 == 0 and data2 != 0:
    print("該年為閏年")
else:
    print("該年不是閏年")
    

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

使用道具 举报

发表于 2020-6-15 09:27:54 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-6-15 09:30 编辑



Python 中除法返回的都是 float 浮点型,而不是整型,你如果想要判断是否被整除应该使用Python 的求余运算符 %

所以你不管是第一种方法 还是 第二种方法 条件永远不会满足

帮你更改了下:

year=input("請輸入今年年份: ")
while year.isdigit() == False:
    print("輸入不合法!")
    year=input("請重新輸入:")
year=int(year)
data=year%400
data1=year%4
data2=year%100

if data == 0:
    print("該年為閏年")
elif data1 == 0 and data2 != 0:
    print("該年為閏年")
else:
    print("該年不是閏年")
    

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

使用道具 举报

 楼主| 发表于 2020-6-15 09:55:15 | 显示全部楼层
Twilight6 发表于 2020-6-15 09:27
Python 中除法返回的都是 float 浮点型,而不是整型,你如果想要判断是否被整除应该使用Python 的求余 ...

原來 Python 中除法返回的都是 float 浮点型,不會有整型啊!
我疑惑了好久呢,感謝回覆^^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-15 09:56:39 | 显示全部楼层
一隻太平洋睡鯊 发表于 2020-6-15 09:55
原來 Python 中除法返回的都是 float 浮点型,不會有整型啊!
我疑惑了好久呢,感謝回覆^^

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

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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