python练习题:使用循环和函数实现一个摇骰子小游戏
游戏规则如下:游戏开始,首先玩家选择Big or Small(押大小),选择完成后开始摇三个骰子,计算总值,11<=总值<=18为“大”,3<=总值<=10为“小”。
然后告诉玩家猜对或者是猜错的结果。
看起来就像是这样:
好,现在我们就开始来制作小游戏了:
我们先来梳理一下这个小游戏的程序设计思路:
首先,我们先来构造可以摇骰子的函数,这个函数其实不需要输入任何参数,调用后会返回储存着摇出来的三个点数结果的列表:
#可以摇骰子的函数
def roll_dice(numbers=3,points=None):
print('<<<<<ROLL THE DICE!>>>>>')
if points is None:
points=[];
while numbers>0:
point=random.randrange(1,7)
points.append(point)
numbers=numbers-1
return points
接着,我们在用一个函数老将点数转化成代销,并使用if语句来定义什么是大,什么是小:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#将点数转化为大小的函数
def roll_result(total):
isBig=11<=total<=18
isSmall=3<=total<=10
if isBig:
return 'Big'
elif isSmall:
return 'Small'
最后,创建一个开始游戏的函数,让用户输入猜大小,并定义什么是猜对,什么是猜错,并输出对应的输赢结果。
#创建开始游戏的函数
def start_game():
print('<<<<<GAME STARTS!>>>>>')
choices=['Big','Small']
your_choice=input('Big or Small:')
if your_choice in choices:
points=roll_dice();
total=sum(points)
youWin=your_choice==roll_result(total)
if youWin:
print('The points are ',points,'You win!')
else:
print('The points are ',points,'You lose!')
else:
print('Invvalid Words')
start_game()
start_game()
好了,游戏的制作过程至此结束