鱼C论坛

 找回密码
 立即注册
查看: 1548|回复: 8

[已解决]想明晰关于对硬币模拟实验的代码含义(入门小白提问)

[复制链接]
发表于 2020-7-25 02:10:16 | 显示全部楼层 |阅读模式
1鱼币
import random

counts = int(input("请输入抛硬币的次数:"))
i = 0

print("开始抛硬币实验:")
while i < counts:
    num = random.randint(1, 10)

    if num % 2:
        print("正面", end=" ")
    else:
        print("反面", end=" ")

    i += 1


疑问:1、为什么生成伪随机数要用randint(1,10),为什么是(1,10)的范围【开始想用sample或choice】
          2、num%2是什么意思?
最佳答案
2020-7-25 02:10:17


1、为什么生成伪随机数要用randint(1,10),为什么是(1,10)的范围【开始想用sample或choice】


random 模块的  randint  方法,是在定义范围内随机一个整数,所以使用它

而 sample 是在可以从指定的序列中,随机的截取指定长度的片断,不作原地修改,一般用于多次抽取序列中不同的元素并返回,所以用 sample 很明显不符合这题题意

和 choice 在一个序列中随机选择一个返回,这个的确可以,要看具体情况,这里实际上可以直接 choice([ 1, 2]) 即可达到题意

如果是猜数字啥的,用 randint 就更为方便,choice 还需要提供一个序列,而且不如 randint 直接随机整数来的快



2、num%2是什么意思?


num % 2 是求余操作符,就是求 num 除以 2 的余数,Python 中数字只要不为 0 ,则都可以视为布尔类型值的 True

所以这里的 if 只有在 num 整除以 2,即 num%2 == 0 的时候才不成立,然后执行 else 的代码块,否则条件成立 都是执行 if 的代码块


最佳答案

查看完整内容

random 模块的 randint 方法,是在定义范围内随机一个整数,所以使用它 而 sample 是在可以从指定的序列中,随机的截取指定长度的片断,不作原地修改,一般用于多次抽取序列中不同的元素并返回,所以用 sample 很明显不符合这题题意 和 choice 在一个序列中随机选择一个返回,这个的确可以,要看具体情况,这里实际上可以直接 choice([ 1, 2]) 即可达到题意 如果是猜数字啥的,用 randint 就更为方便,choice ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 02:10:17 | 显示全部楼层    本楼为最佳答案   


1、为什么生成伪随机数要用randint(1,10),为什么是(1,10)的范围【开始想用sample或choice】


random 模块的  randint  方法,是在定义范围内随机一个整数,所以使用它

而 sample 是在可以从指定的序列中,随机的截取指定长度的片断,不作原地修改,一般用于多次抽取序列中不同的元素并返回,所以用 sample 很明显不符合这题题意

和 choice 在一个序列中随机选择一个返回,这个的确可以,要看具体情况,这里实际上可以直接 choice([ 1, 2]) 即可达到题意

如果是猜数字啥的,用 randint 就更为方便,choice 还需要提供一个序列,而且不如 randint 直接随机整数来的快



2、num%2是什么意思?


num % 2 是求余操作符,就是求 num 除以 2 的余数,Python 中数字只要不为 0 ,则都可以视为布尔类型值的 True

所以这里的 if 只有在 num 整除以 2,即 num%2 == 0 的时候才不成立,然后执行 else 的代码块,否则条件成立 都是执行 if 的代码块


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 02:57:07 | 显示全部楼层
randint 1到任意一个大于1的偶数都可以,不一定到10
num%2 是num除以2的余数。在判断的时候1相当于True,0相当于False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 08:42:49 | 显示全部楼层

问题1:为什么生成伪随机数要用randint(1,10),为什么是(1,10)的范围【开始想用sample或choice】
这段代码表示生成一个1到10的随机数,sample和choice还得创建一个列表。不如这样直接生成随机整形来的快。
问题2:num%2是什么意思
num%2返回num除以2的余数,如果是0,就是说这是双数,也是假,输出(“正面”),如果这是单数,就是1,也就是真,输出(“反面”)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 08:43:42 | 显示全部楼层
如果帮到你了,设置最佳答案可好呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-26 16:22:27 | 显示全部楼层
陈尚涵 发表于 2020-7-25 08:43
如果帮到你了,设置最佳答案可好呀

你充钱啦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-26 16:25:09 | 显示全部楼层

嘿嘿那是,我的零花钱终于有199啦

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +5 收起 理由
永恒的蓝色梦想 + 5 + 5 + 5 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-26 16:27:14 | 显示全部楼层

哈哈哈,我的贡献终于不是-5了,不用被人嘲笑了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-26 16:31:57 | 显示全部楼层

谢谢好友送的贡献
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 20:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表