完成猜大小游戏
规则如下:
投掷3个骰子,如果3个骰子之和小于10为小,大于10为大
步骤分解:
- 请用户输入大或小(用0,1代替)
- 投掷3个骰子,使用random库中的randint函数生成骰点大小,并依次输出骰点
- 计算骰点大小,判断用户输赢,并给出结果
代码如下:
import random# 筛子的定义部分 图视化输出骰子 dice_tpl= '''\ ┌───┐ , ┌───┐, ┌───┐, ┌───┐, ┌───┐, ┌───┐ │ │ , │ ● │, │● │, │● ●│, │● ●│, │● ●│ │ ● │ , │ │, │ ● │, │ │, │ ● │, │● ●│ │ │ , │ ● │, │ ●│, │● ●│, │● ●│, │● ●│ └───┘ , └───┘, └───┘, └───┘, └───┘, └───┘''' dice_lines = dice_tpl.split('\n') #根据 \n 拆分 for m in range(5): dice_lines[m] = dice_lines[m].split(',') dice = ['','','','','',''] for n in range(6): dice[n] = dice_lines[0][n]+'\n'+dice_lines[1][n]+'\n'+dice_lines[2][n]+'\n'+dice_lines[3][n]+'\n'+dice_lines[4][n]
print('''\n-----欢迎来到掷骰子猜大小游戏------ 规则如下: 投掷3个骰子,如果3个骰子之和小于10为小,大于等于10为大\n ''')
use = int(input("请猜测结果1(大)或0(小):")) a1 = random.randint(1,6) a2 = random.randint(1,6) a3 = random.randint(1,6) print("\n第一个骰子结果为", a1) print("第二个骰子结果为", a2) print("第三个骰子结果为", a3)
print(dice[a1-1]) print(dice[a2-1]) print(dice[a3-1]) sum = a1 + a2 + a3 if sum < 10: flag = 0 print("输出结果为小\n") else: flag = 1 print("输出结果为大\n") # 调用函数来实现掷骰子 #print('本次掷骰子的结果为:')
if use == flag:
print('你猜的结果正确') else: print('你猜的结果错误')
主要用到字符串的分割相关知识,
下面是骰子的模版定义,分析其特征,利用str.split函数:
- 先用换行('\n')分隔符拆分为行,组成list
- 再用换行(',')分隔符拆分每个骰点(1~6)的部分
将每个骰点(1~6)的部分拼接,形成每个骰点的list
代码如下:
dice_tpl= '''\ ┌───┐ , ┌───┐, ┌───┐, ┌───┐, ┌───┐, ┌───┐ │ │ , │ ● │, │● │, │● ●│, │● ●│, │● ●│ │ ● │ , │ │, │ ● │, │ │, │ ● │, │● ●│ │ │ , │ ● │, │ ●│, │● ●│, │● ●│, │● ●│ └───┘ , └───┘, └───┘, └───┘, └───┘, └───┘'''dice_lines = dice_tpl.split('\n') #根据 \n 拆分 print("根据\\n拆分完后的结果:\n",dice_lines)
# 将每个都进行 拆分 例:dice_lines[2] = dice_lines[2].split(',') for m in range(5): dice_lines[m] = dice_lines[m].split(',')
dice = ['','','','','',''] # 通过字符串拼接 给dice[i]] 赋值 要认真找拼接的规律 for n in range(6): dice[n] = dice_lines[0][n]+'\n'+dice_lines[1][n]+'\n'+dice_lines[2][n]+'\n'+dice_lines[3][n]+'\n'+dice_lines[4][n] for i in range(6): print(dice[i])