home1.gif


说明:来源 CRAPS又称花旗骰,是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子,玩家通过摇两粒骰子获得点数进行游戏。简单的规则是:玩家第一次摇骰子如果摇出了7点或11点,玩家胜;玩家第一次如果摇出2点、3点或12点,庄家胜;其他点数玩家继续摇骰子,如果玩家摇出了7点,庄家胜;如果玩家摇出了第一次摇的点数,玩家胜;其他点数,玩家继续要骰子,直到分出胜负。

1. 分析/思路


  • 思路:
  1. 只要你有钱money,就可以一直下注一直玩: while money>0:pass
  2. 先下注,钱数不能超过总资产 <= money
  3. 第一次摇骰子,清点后判输赢
  4. 若继续摇骰子,清点后判输赢
  5. 循环步骤4

2. 程序


【实例 1】

  1. from random import randint
  2. money = 1000
  3. while money > 0:
  4. print('你的总资产: ', money)
  5. while True:
  6. debt = int(input('请下注: '))
  7. if 0 < debt <= money:
  8. break
  9. needs_go_on = False
  10. first = randint(1, 6) + randint(1, 6)
  11. if first == 7 or first == 11:
  12. print('\n你的点数是 {{ {} }},玩家胜'.format(first))
  13. money += debt
  14. elif first in (2, 3, 12):
  15. print('\n你的点数是 {{ {} }},庄家胜'.format(first))
  16. money -= debt
  17. else:
  18. print('\n你的点数是 {{ {} }},请继续'.format(first))
  19. needs_go_on = True
  20. while needs_go_on:
  21. needs_go_on = False
  22. current = randint(1, 6) + randint(1, 6)
  23. if current == 7:
  24. print('\n你的点数是 {{ {} }},庄家胜'.format(current))
  25. money -= debt
  26. elif current == first:
  27. print('\n你的点数是 {{ {} }},玩家胜'.format(current))
  28. money += debt
  29. else:
  30. print('\n你的点数是 {{ {} }},请继续'.format(current))
  31. needs_go_on = True
  32. print('你破产了,游戏结束!')

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) ```

end1.gif