啦啦啦lok 发表于 2017-12-5 00:25:11

PYTHON第五课小问题 求大神~

学完了第五课,做老师的课后题,自己写的程序怎么都不对,感觉逻辑是对的呀,求大神指导哪里不对…… 感谢谢感谢
【自己的】
gues = input("请输入一个年份")
while gues.isdigit() != 1:
    print("输入错误")
    gues = input("请输入一个整数年份")
b = int(gues)
c = b/4
d = b/100
e = b/400
if (c == int)and(d != int):
    print("闰年")
else:
    if type(e) == type(1):
      print("闰年")
    else:
      print("正常年")

【老师的】
temp = input('请输入一个年份:')
while not temp.isdigit():
    temp = input("抱歉,您的输入有误,请输入一个整数:")

year = int(temp)
if year/400 == int(year/400):
    print(temp + ' 是闰年!')
else:
    if (year/4 == int(year/4)) and (year/100 != int(year/100)):
      print(temp + ' 是闰年!')
    else:
      print(temp + ' 不是闰年!')

BngThea 发表于 2017-12-5 06:49:40

错误提示呢?

像番茄加两个蛋 发表于 2017-12-5 07:27:13

不一定要和老师的一模一样的,只要执行一样就可以了,自己动脑胜过看老师的

BngThea 发表于 2017-12-5 09:05:28

仔细看了一下,有这么两个主要的问题:
1 你不能将一个变量直接和 int 这个类型比较
2 c,d,e 三个数都是通过直接除一个数得来的,其类型肯定是float,举个例子
>>> type(10/2)
<class 'float'>

啦啦啦lok 发表于 2017-12-5 23:37:06

BngThea 发表于 2017-12-5 09:05
仔细看了一下,有这么两个主要的问题:
1 你不能将一个变量直接和 int 这个类型比较
2 c,d,e 三个数都是 ...

我的天,大神你真是厉害啊,一眼就看破了关键,c,d,e果然都是float,感谢感谢 {:5_92:}
页: [1]
查看完整版本: PYTHON第五课小问题 求大神~