7、轮盘分为三部分: 一等奖, 二等奖和三等奖;编写函数实现根据轮盘转的结果返回对应奖。(25分) 轮盘转的时候是随机的, 如果范围在[0,0.05)之间代表一等奖;如果范围在[0.05,0.30)之间代表二等奖;如果范围在[0.30, 1.0)之间代表三等奖。 模拟本次抽奖活动,输入参与抽奖的总人数(如 1500), 输出需要准备各等级奖品的个数。 提示: 1. 使用 random.random()生成随机浮点数,根据该浮点数所属区间范围确定获奖级别;(5分) 2. 使用字典定义各奖项范围(键为奖项名、值为列表表示的范围上下限);(5分) 3. 使用字典存储各奖项需准备奖品数量,并使用字典的 get 函数实现抽奖计数;(5分) 4. 编写名为rewardGet的函数返回随机数对应的奖项;(10分)
时间: 2024-02-23 18:00:45 浏览: 24
以下是实现代码:
```python
import random
# 奖项范围字典
reward_ranges = {
"一等奖": [0, 0.05],
"二等奖": [0.05, 0.30],
"三等奖": [0.30, 1.0]
}
# 奖品数量字典
reward_counts = {
"一等奖": 0,
"二等奖": 0,
"三等奖": 0
}
def rewardGet():
# 生成随机浮点数
rand_num = random.random()
# 遍历奖项范围字典,确定获奖级别
for reward_name, reward_range in reward_ranges.items():
if rand_num >= reward_range[0] and rand_num < reward_range[1]:
# 根据奖项名获取奖品数量并加1
reward_counts[reward_name] = reward_counts.get(reward_name, 0) + 1
return reward_name
# 模拟抽奖
total_num = int(input("请输入参与抽奖的总人数:"))
for i in range(total_num):
rewardGet()
# 输出各等级奖品的个数
for reward_name, reward_count in reward_counts.items():
print("{}: {}".format(reward_name, reward_count))
```
示例输出:
```
请输入参与抽奖的总人数:1500
一等奖: 68
二等奖: 357
三等奖: 1075
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)