YYF有点骚 发表于 2020-7-7 10:41:47

大佬帮帮我

我在小甲鱼的作业中遇到了以下问题:为什么year//4和year%4 == 0所带来的结果会不一样呢
(代码如下:)year = input('请输入一个年份:')

while not year.isdigit():
    year = input("抱歉,您的输入有误,请输入一个整数:")

year = int(year)
ifyear // 400:
    print(year,"是闰年")
else:
    if year // 4 and year % 100 != 0:
       print(year,"是闰年")
    else:
      print(year,"不是闰年")

year = input('请输入一个年份:')

while not year.isdigit():
    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, "不是闰年!")

Twilight6 发表于 2020-7-7 10:46:18

本帖最后由 Twilight6 于 2020-7-7 10:51 编辑



地板除法可以看成除法后 int ,把小数全不要了

而求余运算符 是把余数留下

>>> 12 // 3    # 可以看成int(12/3)
4

>>> 12 % 3   # 没有余数
0

>>> 15 // 7   #int(15/7) 去掉小数
2

>>> 15 % 7   # 15除 7 余 1
1

看看这些运算结果,判断是否被整除 应该用 % ,地板除// 得到的永远都是整数

还有个方法 就是判断 int 后的值和 / 后的值 是否相等

冬雪雪冬 发表于 2020-7-7 10:46:51

year//4是整除,例如year=4,year//4=1,year=5,year//4=1,并不能判断是否能被4整除

8178919 发表于 2020-7-7 10:54:40

第一个是地板除,第二个是求余数

binzai_007 发表于 2020-7-7 18:52:55

python课程第6讲,里面有详细的说明
页: [1]
查看完整版本: 大佬帮帮我