鱼C论坛

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

[已解决]这个求闰年的题目哪儿错了为啥输出不了

[复制链接]
发表于 2019-3-17 10:41:12 | 显示全部楼层 |阅读模式

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

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

x
year=input('请输入一个年份:')
a=year/400
    if type(a)==type(1):
        print('该年份是闰年')
    else :
        print('该年份不是闰年')
最佳答案
2019-3-17 10:54:48
求闰年条件一个不能少。不要想得太简单了。
while True:
    temp = input("請輸入一個年份: ")
    if temp == "q": #输入q表示退出
        break
   
    if not temp.isdigit():
        print("       輸入錯誤,請重新輸入!!!")
    else:   
        year = int(temp)

        # 条件1、能整除4且不能整除100  条件2、能整除4, 能整除100, 又能整除400
        if year % 4 == 0: # 1和2: 能整除4
            if year % 100 == 0: # 2: 能整除100
                if year % 400 == 0: # 2: 能整除400
                    print(str(year) + ("是閏年"))
                else:
                    print(str(year) + ("不是閏年"))
            else: # 1: 不能整除100
                print(str(year) + ("是閏年"))
        else:
            print(str(year) + ("不是閏年"))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-17 10:43:35 | 显示全部楼层
闰年也不是这样判断的啊   
是 模4==0 且模100不等于0  或者模400==0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-3-17 10:48:31 | 显示全部楼层
1. 第二行会报错。
2. 第三行写的是什么啊, type() 方法你都没理解。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-17 10:54:48 | 显示全部楼层    本楼为最佳答案   
求闰年条件一个不能少。不要想得太简单了。
while True:
    temp = input("請輸入一個年份: ")
    if temp == "q": #输入q表示退出
        break
   
    if not temp.isdigit():
        print("       輸入錯誤,請重新輸入!!!")
    else:   
        year = int(temp)

        # 条件1、能整除4且不能整除100  条件2、能整除4, 能整除100, 又能整除400
        if year % 4 == 0: # 1和2: 能整除4
            if year % 100 == 0: # 2: 能整除100
                if year % 400 == 0: # 2: 能整除400
                    print(str(year) + ("是閏年"))
                else:
                    print(str(year) + ("不是閏年"))
            else: # 1: 不能整除100
                print(str(year) + ("是閏年"))
        else:
            print(str(year) + ("不是閏年"))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-3-17 11:06:10 | 显示全部楼层
°蓝鲤歌蓝 发表于 2019-3-17 10:48
1. 第二行会报错。
2. 第三行写的是什么啊, type() 方法你都没理解。

type()是返回它的类型吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-17 11:16:52 | 显示全部楼层
chengzhichng 发表于 2019-3-17 11:06
type()是返回它的类型吗?


1. input()返回的是 str 类型,而不是 int 类型,所以 year/400 是不同类型操作,会报错。
2. 假设你第一步写对了, year/400,这里的操作符 / (400/400 -> 1.0)返回的是 float 而不是 int,
type(a) == type(1) 返回的永远是 False。
3. 关于上面两点可以判断出, input() 函数, / 操作符, type() 函数 你并没有全部理解与掌握。  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-17 20:28:20 | 显示全部楼层
°蓝鲤歌蓝 发表于 2019-3-17 11:16
1. input()返回的是 str 类型,而不是 int 类型,所以 year/400 是不同类型操作,会报错。
2. 假设你 ...

end''是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-17 20:32:59 | 显示全部楼层

哦,懂了就是把竖的变成横的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 07:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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