Vante901 2022-03-27 15:26 采纳率: 55.6%
浏览 18
已结题

如何创建一个循环,每轮将投掷5个骰子,直到所有5个骰子的数字一样?(语言-python)




```###### 
创建一个循环,每轮将投掷5个骰子,直到所有5个骰子的数字一样。 
创建一个名为played_rounds的变量。 
在每个循环中,首先创建一个名为round的空列表,并将played_rounds计数器变量增加一。 
连续调用throw_dice( )函数5次,并将5次投掷的结果逐个保存到列表中。 
掷骰子5次后,检查列表上的5个数字是否一样。 
如果数字都不一样,则再次启动循环。 
如果所有数字都一样,使用show_roll()函数来打印5个获胜的骰子。
打印出需要多少轮才能得到所有五个骰子一样。

```python
#Import libraries
from PIL import Image
import requests
from io import BytesIO
import random
```python
#Dice side image URLs
roll1_url = r"https://cdn-icons-png.flaticon.com/128/7011/7011091.png"
roll2_url = r"https://cdn-icons-png.flaticon.com/128/7011/7011093.png"
roll3_url = r"https://cdn-icons-png.flaticon.com/128/7011/7011095.png"
roll4_url = r"https://cdn-icons-png.flaticon.com/128/7011/7011097.png"
roll5_url = r"https://cdn-icons-png.flaticon.com/128/7011/7011099.png"
roll6_url = r"https://cdn-icons-png.flaticon.com/128/7011/7011104.png"

#Get images from URLs
roll1 = requests.get(roll1_url)
roll2 = requests.get(roll2_url)
roll3 = requests.get(roll3_url)
roll4 = requests.get(roll4_url)
roll5 = requests.get(roll5_url)
roll6 = requests.get(roll6_url)


num = random.randint(1,6)
roll_images=[roll1,roll2,roll3,roll4,roll5,roll6]

show_roll = roll_images[num-1] 
img = Image.open(BytesIO(show_roll.content)) 
img.thumbnail([50,50]) 
display(img)
  • 写回答

2条回答 默认 最新

  • chuifengde 2022-03-27 15:49
    关注

    def throw_dice():
    num = random.randint(1,6)
    return num
    def show_roll(num):
    show = roll_images[num-1]
    img = Image.open(BytesIO(show.content))
    img.thumbnail([50,50])
    display(img)
    played_rounds=0
    while True:
    round = []
    for _ in range(5):
    round.append(throw_dice())
    played_rounds+=1
    if len(set(round))==1:
    break
    show_roll(list(set(round))[0])
    print(played_rounds)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月4日
  • 已采纳回答 3月27日
  • 创建了问题 3月27日

悬赏问题

  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因