python 0基础最新版第八(上)作业
num = random.randint(1, 10)if num % 2:
print("正面", end=" ")
else:
print("反面", end=" ")
i =i + 1
求大佬指点:为什么要取范围(1,10)。。
以及那个 %2 是什么意思啊 。。。 本帖最后由 昨非 于 2020-11-5 23:43 编辑
取1到10的10个随机数
if num%2等价于if num%2==1
%2就是对2取余数
意思就是num是奇数
else对应偶数
是个随机数中,奇数和偶数各占50%,用来模拟正面反面的概率相等 满意的话记得设个最佳答案哈 本帖最后由 jackz007 于 2020-11-6 00:27 编辑
num = random.randint(1, 10)
这一句从 1 - 10 的范围内随机抽取一个数值赋值给变量 num,在这个范围内,有 5 个奇数,5 个偶数,抽到奇数、偶数的概率各占 50%。当然,你完全可以选择在其他数值范围,比如, 1 - 10000 的范围内随机抽取,对于变量 num 而言,无论数值是多少,无非就是奇数或者偶数,对最后结果并不产生实质性的影响。
if num % 2:
这一句的意图是根据数值判断随机数 num 的奇偶性。% 是取余操作,表达式 num % 2 意思是取 num 除以 2 的余数,如果 num 是偶数,则余数为 0,如果是奇数,则余数为 1。作为逻辑表达结果,余数为 0 时,对应于 False,余数为 1 时,对应于 True。就是说,当 num 为奇数时 if num % 2 的条件为真,否则为假。在本例中,奇数代表的是正面,偶数代表的是反面。
仔细考察下面的代码可以加深理解:
#-*-coding:gbk-*-
import random
counts , i = int(input('请输入抛硬币的次数:') . strip()) , 0
for _ in range(counts) :
num = random . randint(1 , 10000)
if num % 2 :
print('正面')
i += 1
else:
print('背面')
print('一共抛币' , counts , '次,其中,正面' , i , '次,背面' , counts - i , '次')
昨非 发表于 2020-11-5 23:28
取1到10的10个随机数
if num%2等价于if num%2==1
%2就是对2取余数
感谢感谢,结合你和另一个大佬的答案,我总算搞懂啦{:10_297:} jackz007 发表于 2020-11-6 00:00
这一句从 1 - 10 的范围内随机抽取一个数值赋值给变量 num,在这个范围内,有 5 个奇数,5 个偶 ...
太感谢了,解释的很详细,结合你的和另一个大佬的回复,我算是明白了{:10_282:} 昨非 发表于 2020-11-5 23:28
满意的话记得设个最佳答案哈
抱歉抱歉,我真的很想两个一起设置啊。。
两个答案结合起来就很完美啦{:10_243:} ebusen 发表于 2020-11-6 12:50
抱歉抱歉,我真的很想两个一起设置啊。。
两个答案结合起来就很完美啦
没事,他的详细,给他也好
页:
[1]