
说明:来源 CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。
1. 分析/思路
- 思路:
 
- 只要你有钱money,就可以一直下注一直玩: while money>0:pass
 - 先下注,钱数不能超过总资产 <= money
 - 第一次摇骰子,清点后判输赢
 - 若继续摇骰子,清点后判输赢
 - 循环步骤4
 
2. 程序
【实例 1】
from random import randintmoney = 1000while money > 0:print('你的总资产: ', money)while True:debt = int(input('请下注: '))if 0 < debt <= money:breakneeds_go_on = Falsefirst = randint(1, 6) + randint(1, 6)if first == 7 or first == 11:print('\n你的点数是 {{ {} }},玩家胜'.format(first))money += debtelif first in (2, 3, 12):print('\n你的点数是 {{ {} }},庄家胜'.format(first))money -= debtelse:print('\n你的点数是 {{ {} }},请继续'.format(first))needs_go_on = Truewhile needs_go_on:needs_go_on = Falsecurrent = randint(1, 6) + randint(1, 6)if current == 7:print('\n你的点数是 {{ {} }},庄家胜'.format(current))money -= debtelif current == first:print('\n你的点数是 {{ {} }},玩家胜'.format(current))money += debtelse:print('\n你的点数是 {{ {} }},请继续'.format(current))needs_go_on = Trueprint('你破产了,游戏结束!')
2. 扩展
- random 模块 ```python import random import string
 
生成 [1, 10] 区间的随机整数
random.randint(1,10)
生成从1到100的间隔为2的随机整数(就是偶数)
random.randrange(1, 100, 2)
生成 (0, 1) 之间的随机浮点数
random.random()
生成 (1.5, 5.8) 之间的随机浮点数
random.uniform(1.5, 5.8)
从字符串中随机选取一个元素
random.choice(‘abcdefghijklmnopqrstuvwxyz!@#$%^&*()’)
随机选取字符串:
random.choice([‘剪刀’, ‘石头’, ‘布’])
多个字符中生成指定数量的随机字符:
random.sample(‘zyxwvutsrqponmlkjihgfedcba’,5)
从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ‘’.join(random.sample(string.ascii_letters + string.digits, 8))
多个字符中选取指定数量的字符组成新字符串:
‘’.join(random.sample([‘z’,’y’,’x’,’w’,’v’,’u’,’t’,’s’,’r’,’q’,’p’,’o’,’n’,’m’,’l’,’k’,’j’,’i’,’h’,’g’,’f’,’e’,’d’,’c’,’b’,’a’], 5))
打乱排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] random.shuffle(items) ```

