python的random函数掷色子和为7的概率_案例(7):模拟掷骰子

本章通过模拟掷骰子计算的5案例来进行学习基础的Python程序

案例描述

通过计算机程序模拟抛掷骰子,并显示各点数的出现次数及频率

比如:抛掷2个骰子50次,出现点数为7的次数是8,频率是0.16

2a0a5f6ba261?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

模拟图

案例分析

根据以下函数判断密码强度并输出:

1.设置一个变量strength_level用于记录密码的强度,初始为0。满足一个条件,对其加1;

2.长度判断:使用len()方法;

3.包含数字判断:对密码字符串遍历,使用isnumeric()方法;

4.包含字母判断:对密码字符串遍历,使用isalpha()方法;

5.如果strength_level等于3,密码强度合格,否则不合格

v1.0

新建一个简单的Python程序,1.0功能:模拟抛掷1个骰子,并输出其结果;通过Python的random模块模拟随机事件或者生成随机数;遍历列表时,使用enumerate()函数同时获取每个元素的索引号及其元素值。首先掷骰子编写成一个函数,然后编写主函数设置参数并开始掷骰子,最后输出结果。

知识点:

1.random模块

(1)random模块用于生成随机数,包含整数,浮点数,获取列表中的随机元素

(2)常用函数,random库里面有几个常用的函数,分别如下:

2a0a5f6ba261?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

random常用函数

2.enumerate()函数

(1)enumerate()函数用于将可遍历的组合转换为一个索引序列

(2)一般用于for循环中,同时列出元素和元素的索引号

random模块函数示例:

2a0a5f6ba261?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

enumerate函数示例:

2a0a5f6ba261?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

扔骰子函数,先引入ramdom库,randint(1,6)返回的是1 - 6的整数赋值给dice_num,最后返回该结果:

import random

def roll_dice():

"""

掷骰子

"""

dice_num = random.randint(1, 6)

return dice_num

主体代码,里面先初始化主要的参数是total_time次数和result_list次数统计列表,for循环迭代range(total_times)对象,计算每次掷骰子的结果然后再for循环给统计列表计数,若符合则+1,最后enumerate()会返回两个参数,第1个给i,第2个给result再进行for循环迭代,因为列表下标是从0开始的,所以format的i需要+1正确显示0:

# 掷骰子次数

total_times = 1000

# 初始化结果列表[0,0,0,0,0,0]

result_list = [0] * 6

# 开始掷骰子

for i in range(total_times):

roll = roll_dice()

# 给列表计数

for j in range(1, 7):

if roll == j:

result_list[j - 1] += 1

# 输出结果

for i, result in enumerate(result_list):

print("计数为{}的骰子出现次数{},频率:{}".format(i + 1, result, result / total_times))

结果如图所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值