```######
创建一个循环,每轮将投掷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)
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)
测试了一下, 407 次出现。还挺快
from PIL import Image
import requests
from io import BytesIO
import random
# 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)
def throw_dice():
num = random.randint(1, 6)
return num
played_rounds = 0
die_num = 0
while True:
round = []
played_rounds += 1
for i in range(6):
round.append(throw_dice())
if round[0] == round[1] == round[2] == round[3] == round[4]:
die_num = round[0]
print(played_rounds)
break
roll_images = [roll1, roll2, roll3, roll4, roll5, roll6]
show_roll = roll_images[die_num - 1]
img = Image.open(BytesIO(show_roll.content))
img.thumbnail([50, 50])
img.show()