杨啊杨啊杨 发表于 2020-7-5 20:10:22

008讲课后习题

    num = random.randint(1, 10)

    if num % 2:
      print("正面", end=" ")
    else:
      print("反面", end=" ")
有点没理解这个if分支是什么意思,就前面两节课学习if语句的时候都是if == 一个数值时候打印 ,这个num % 2 不是只是一个计算吗,计算的结果是和谁比较呢,那怎么判断是不是成立呢?

qiuyouzhi 发表于 2020-7-5 20:12:24

0是False,不是0的都是True,所以判断num % 2是不是0(能不能整除),不能整除就是if 1, 也就是True,
否则是if 0,就是False。

Hello. 发表于 2020-7-5 20:18:05

本帖最后由 Hello. 于 2020-7-5 20:20 编辑

你把程序写成这样就很好理解
如果 num % 2 为 0,能整除时,打印反面
如果 num % 2 不为 0,不能整除,打印正面
import random
num = random.randint(1, 10)
print(num)
if num % 2:
      print("正面", end=" ")
else:
      print("反面", end=" ")

liuzhengyuan 发表于 2020-7-5 20:18:28

非 0 为真

意思是这样的:
如果 num % 2 为 0,那么条件不成立(也就是不能被 2 整除)
如果 num % 2 不为 0,那么条件成立(能被 2 整除)

heidern0612 发表于 2020-7-5 20:26:05

if num % 2 等同于if num % 2 的结果不为0,这是python默认的一种书写规范,记住就好。

杨啊杨啊杨 发表于 2020-7-5 20:28:08

qiuyouzhi 发表于 2020-7-5 20:12
0是False,不是0的都是True,所以判断num % 2是不是0(能不能整除),不能整除就是if 1, 也就是True,
否 ...

那这个random.randint(1,10)取不取10呢,我忘了在哪里看的知识备忘了,就是取下限不取上限的一个规则{:10_254:}

杨啊杨啊杨 发表于 2020-7-5 20:29:19

heidern0612 发表于 2020-7-5 20:26
if num % 2 等同于if num % 2 的结果不为0,这是python默认的一种书写规范,记住就好。

好的谢谢

Hello. 发表于 2020-7-5 20:30:48

杨啊杨啊杨 发表于 2020-7-5 20:28
那这个random.randint(1,10)取不取10呢,我忘了在哪里看的知识备忘了,就是取下限不取上限的一个规则{:10 ...

包括

heidern0612 发表于 2020-7-5 20:32:16

杨啊杨啊杨 发表于 2020-7-5 20:28
那这个random.randint(1,10)取不取10呢,我忘了在哪里看的知识备忘了,就是取下限不取上限的一个规则{:10 ...

randint貌似是唯一的一个不是左开右闭(也叫顾头不顾腚)的,记住就好。

qiuyouzhi 发表于 2020-7-5 20:33:59

杨啊杨啊杨 发表于 2020-7-5 20:28
那这个random.randint(1,10)取不取10呢,我忘了在哪里看的知识备忘了,就是取下限不取上限的一个规则{:10 ...

你测试一下呗

永恒的蓝色梦想 发表于 2020-7-5 20:51:34

杨啊杨啊杨 发表于 2020-7-5 20:28
那这个random.randint(1,10)取不取10呢,我忘了在哪里看的知识备忘了,就是取下限不取上限的一个规则{:10 ...

包括。
取下限不取上限是 range
页: [1]
查看完整版本: 008讲课后习题