Day.1 关于随机摇骰子,并进行猜大小的游戏
游戏规则:
初始本金是1000元,默认赔率是1倍,赢了,获得一倍金额,输了,扣除1倍金额。
玩家选择**,押大或押小;
输入**金额;
摇3个骰子,11≤骰子总数≤18为大,3≤骰子总数≤10为小;
如果赢了,获得1倍金额,输了,扣除1倍金额,本金为0时,游戏结束。
编码思路:
1、如何让计算机随机投掷三个骰子并计算其结果
2、教会计算机什么是“大”,什么是“小”
3、让计算机对用户输入的值与随机结果进行判断,并对各类输入值的格式进行规范
游戏结果截图
import random
def roll_dice():
"""
定义一个函数,在1-6之间产生随机数,存储在列表result中
并进行求和运算,结果存储在sum_result中
"""
results = []
for x in range(3):
result = random.randint(1, 6)
results.append(result)
print("""------------摇骰子-------------
摇骰结果:""", results)
sum_results = 0
for x in results:
sum_results += x
return sum_results
def big_or_small(points):
"""
定义一个函数,用于界定骰子规则,对点数和的进行大小判断
"""
big = 11 <= points <= 18
small = 3 <= points <= 10
if small:
return 'SMALL'
elif big:
return 'BIG'
def start_dice_game():
"""
定游戏函数,用于接受参数并且与随机摇骰子的结果进行判断
"""
money = 1000 # 初始化本金为1000
while money > 0: # 指定循环的条件为本金大于0
print('\n你目前的本金是{}'.format(money))
print('------------开始游戏-------------')
your_choice = input('请**,small or big:')
choice = ['small', 'big']
if your_choice.lower() in choice: # 首层if条件对用户输入的结果格式进行判断
bet = int(input('**金额:'))
if bet > money: # 第二层if条件对**金额是否超过本金或小于零进行判断
print("您**的金额大于本金,臭穷逼")
elif 0 < bet <= money:
points = roll_dice()
result = big_or_small(points)
if result.lower() == your_choice.lower(): # 第三层if条件对roll_dice()的随机结果与预测结果进行判断
money += bet
print("恭喜!你赢了{},本金变为{}".format(bet, money))
elif result.lower() != your_choice.lower():
money -= bet
print("很遗憾,你输了{},本金变为{}".format(bet, money))
elif bet <= 0:
print("**金额至少大于0元")
elif your_choice.lower() not in choice:
print("您输入的格式有误,不区分大小写,请检查拼写是否有误")
else:
print("本金已用完,游戏结束") # while…else,在条件语句为false时执行else的语句块
start_dice_game()