|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
num = random.randint(1, 10)
if num % 2:
print("正面", end=" ")
else:
print("反面", end=" ")
i =i + 1
求大佬指点:为什么要取范围(1,10)。。
以及那个 %2 是什么意思啊 。。。
本帖最后由 jackz007 于 2020-11-6 00:27 编辑
- num = random.randint(1, 10)
复制代码
这一句从 1 - 10 的范围内随机抽取一个数值赋值给变量 num,在这个范围内,有 5 个奇数,5 个偶数,抽到奇数、偶数的概率各占 50%。当然,你完全可以选择在其他数值范围,比如, 1 - 10000 的范围内随机抽取,对于变量 num 而言,无论数值是多少,无非就是奇数或者偶数,对最后结果并不产生实质性的影响。
这一句的意图是根据数值判断随机数 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 , '次')
复制代码
|
|