|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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("該年不是閏年")
為什麼這樣是行不通的?
本帖最后由 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("該年不是閏年")
-
复制代码
|
|