python设计石头剪刀布游戏五次游戏体验_Python设计一个石头、剪刀、布游戏
石头剪刀布是一种很受欢迎的游戏。我们将在python编程语言中实现石头剪刀布(Rock, Paper, and Scissors)。Python是最简单的编程语言之一,理解它不需要花费太多时间。让我们开始吧。
让我们分解石头,剪刀、布
在转到编码部分之前,编程和开发的第一条规则始终是分析并分解我们将要实现的内容。将我们的问题分解为更小的步骤称为分解。在这里,我们将为游戏石头剪刀布创建一个程序。我们将问题分为几部分。
1.玩家。在这个游戏中我们需要两个人,我们将有一个用户,另一个用户是计算机。用户和计算机都将输入他们的选择。不用担心计算机的输入,它将是最有趣的部分。
2.规则。接下来,我们必须创建示例方案来确定谁是每个回合的赢家。让我们简要地讨论这些情况:
– 当用户和计算机做出相同选择时,这是平局。
– 石头胜过剪刀,输给布
– 布胜过石头,输给了剪刀
– 剪刀战胜布,输给石头
3.退出策略。总会有一个选择来完成游戏。
4.谁赢了?我们还需要保留双方所获得的积分。
现在我们知道我们将要做什么。让我们开始编码吧!
编写Python游戏代码:分步说明
这款游戏是使用变量,列表,while循环,if-elif-else阶梯和我们从随机模块导入的特殊randint方法创建的。我们将在下面介绍所有这些初学者编程概念!
如果您没有python编辑器,并且正在寻找一种非常简单的方法立即开始使用Python,则可以使用在线Python IDE编辑器。 只需打开此页面https://repl.it/languages/python3,您就可以立即开始使用!
步骤1:导入模块
from random import randint
我们使用’from’和’import’关键字从随机模块导入randint函数。randint函数具有一些特殊功能,我们将在程序中使用它们。 我们将在后面讨论。 现在我们已经有了重要的功能,可以在我们的代码中使用它了。
步骤2:创建可用选项列表
Python中的数据结构是用户友好的并且非常易于理解。让我们看一下第一个数据结构的代码,一个列表。
#List of options
game = ["Rock", "Paper", "Scissors"]
Python中还有其他数据结构,每个结构都有不同的功能。使用方括号创建列表,要检索它的值,我们需要做的就是,写下列表的名称,后跟两个方括号,然后输入要检索的值的索引。例如:
game[1]
步骤3:让电脑随机选择
我们已经导入了randint函数,并且我们还知道如何从列表中检索值。现在是时候结合这两个概念,我们需要获得计算机的选择。以下代码就是计算机在此程序中随机选择的方式。
#Assigning a random option to computer
computer = game[randint(0,2)]
我们创建了一个名为computer的变量,该变量将保存计算机的选择。我们已经有了选择列表,接下来需要考虑让计算机可以随机选择其中之一。这是randint函数发挥作用的地方。
randint函数用于生成随机值。将上下限参数传递给此函数,并且返回值始终在此范围之间。根据列表定义,我们将传递参数0和2,游戏具有三个值,0是第一个值。因此,这里返回0、1和2共三个选项!
randint(0,2)
这行代码可以返回0、1或2,它可以是唯一的或相同的,这是完全随机的! 我们将使用返回的数字作为列表的索引。
game[randint(0,2)]
我们将整个randint函数写在方括号内,这样返回的随机数就可以作为索引。现在,计算机做出了选择,并保存在变量中。
第4步:让我们在开始游戏之前定义更多变量
变量是编程的重要组成部分。对于我们的石头剪刀布游戏,还有一些其他变量需要考虑。
playersPoint = 0
computersPoint = 0
这两个变量将为用户和计算机保存分数,所以要初始化为零。
goOn = True
除了选项之外,用户还可以结束游戏。当用户输入“Finish”时,上述变量将结束游戏。goOn变量设置为True,这是while循环的条件。
当用户输入“Finish”时,此变量的值将更改为false,游戏结束。
步骤5:创建While循环
while循环允许我们的游戏运行,直到游戏被用户结束为止。
#Loop goes on until goOn is false
while(goOn):
在括号中,使用了goOn变量。 goOn变量的值为True,这意味着while循环中的条件为true,它将一直运行直到条件为false。稍后,当用户键入“Finish”时,我们将告诉程序将goOn变量更改为false。
步骤6:允许用户输入
while循环中的第一行代码是:
#Ask for user input
player = input("Rock, Paper or Scissors? or enter Finish to end!\n")
这是我们要求用户选择的地方。四个选项是“石头(Rock)”,“布(Paper)”,“剪刀(Scissors)”和“完成(Finish)”。 用户必须输入其中之一,否则程序将不会继续。
选项存储在player变量中,函数内编写的文本出现在屏幕上。我们必须完全按照要求输入值! 这是大小写敏感的!
步骤7:定义方案
我们有两个变量:computer和player,分别存有计算机和用户的选择。
现在是时候决定获胜者了。 我们将通过使用if-elif-else梯形图来实现。
#Check for scenarios
if(player == 'Finish'):
goOn = False
elif(player == computer):
print("Tie!")
elif(player == "Rock"):
if(computer == "Paper"):
print("You lose!", computer, "covers", player)
computersPoint = computersPoint + 1
else:
print("You win!", player, "smashes", computer)
playersPoint = playersPoint + 1
elif(player == "Paper"):
if(computer == "Scissors"):
print("You lose!", computer, "cut", player)
computersPoint = computersPoint + 1
else:
print("You win!", player, "covers", computer)
playersPoint = playersPoint + 1
elif(player == "Scissors"):
if(computer == "Rock"):
print("You lose...", computer, "smashes", player)
computersPoint = computersPoint + 1
else:
print("You win!", player, "cut", computer)
playersPoint = playersPoint + 1
else:
print("That's not a valid play. Check your spelling!")
让我们了解一下“if-elif-else”的工作原理。每个if和elif在括号中都有一个条件部分。程序将进入条件为真的那个块。一旦找到真实条件,它将忽略所有其他条件。 但是,当所有条件都不成立时会发生什么? 执行进入else块。再次观察上面的代码,else块没有条件。
我们将逐步讨论所有条件。
1.第一个条件检查用户是否输入了“Finish”。 如果此条件为true,则goOn变量的值将更改为false,程序将结束。
if(player == 'Finish'):
goOn = False
2.第二个条件检查用户和计算机的选择是否相同。 在这种情况下,任何人都不会获得得分。
elif(player == computer):
print("Tie!")
3.接下来的三个条件根据游戏的基本概念起作用。 决定赢家,并相应地奖励积分。 之前,我们用0初始化了两个变量,computersPoint和playersPoint。 如果计算机获胜,则computersPoint变量将增加1,如果用户获胜,playersPoint变量将增加1。
elif(player == "Rock"):
if(computer == "Paper"):
print("You lose!", computer, "covers", player)
computersPoint = computersPoint + 1
else:
print("You win!", player, "smashes", computer)
playersPoint = playersPoint + 1
elif(player == "Paper"):
if(computer == "Scissors"):
print("You lose!", computer, "cut", player)
computersPoint = computersPoint + 1
else:
print("You win!", player, "covers", computer)
playersPoint = playersPoint + 1
elif(player == "Scissors"):
if(computer == "Rock"):
print("You lose...", computer, "smashes", player)
computersPoint = computersPoint + 1
else:
print("You win!", player, "cut", computer)
playersPoint = playersPoint + 1
4.最后是else块。 没有条件。 仅当用户输入无效选项时,它才会显示一条消息。
else:
print("That's not a valid play. Check your spelling!")
步骤8:允许游戏继续
在while循环结束时,我们再次使用randint函数为计算机分配选项。
#Assigning a random option to computer
computer = game[randint(0,2)]
print('********Next Turn********')
即使我们在游戏开始时有类似的代码行,也必须重复此操作。 请记住,计算机必须要做出选择。 这就是为什么我们再次编写此行代码的原因。
步骤9:显示最终分数
当用户通过键入“完成”结束游戏时,程序将显示最终得分。 最终分数存储在我们之前使用的两个变量中,computersPoint和playersPoint。
#Printing final points
print("********Final Points********")
print("Player: ", playersPoint)
print("Computer: ", computersPoint)
剪刀石头布完整代码
您需要完整的代码,才能在Python中运行“剪刀石头布”游戏。 您可以将此代码复制并粘贴到https://repl.it/languages/python3中,然后自己玩这个游戏!
from random import randint
#List of options
game = ["Rock", "Paper", "Scissors"]
#Assigning a random option to computer
computer = game[randint(0,2)]
#Keep count for points
playersPoint = 0
computersPoint = 0
goOn = True
#Loop goes on until goOn is false
while(goOn):
#Ask for user input
player = input("Rock, Paper or Scissors? or enter Finish to end!\n")
#Check for scenarios
if(player == 'Finish'):
goOn = False
elif(player == computer):
print("Tie!")
elif(player == "Rock"):
if(computer == "Paper"):
print("You lose!", computer, "covers", player)
computersPoint = computersPoint + 1
else:
print("You win!", player, "smashes", computer)
playersPoint = playersPoint + 1
elif(player == "Paper"):
if(computer == "Scissors"):
print("You lose!", computer, "cut", player)
computersPoint = computersPoint + 1
else:
print("You win!", player, "covers", computer)
playersPoint = playersPoint + 1
elif(player == "Scissors"):
if(computer == "Rock"):
print("You lose...", computer, "smashes", player)
computersPoint = computersPoint + 1
else:
print("You win!", player, "cut", computer)
playersPoint = playersPoint + 1
else:
print("That's not a valid play. Check your spelling!")
#Assigning a random option to computer
computer = game[randint(0,2)]
print('********Next Turn********')
#Printing final points
print("********Final Points********")
print("Player: ", playersPoint)
print("Computer: ", computersPoint)
让我们看看最终代码的运行结果!
用户可以输入“ Rock”,“ Paper”或“ Scissors”进行游戏,或输入“ Finish”结束游戏。然后将值与计算机的选择相匹配,并相应地分配分数。 游戏结束后,最终分数将显示在屏幕上。
这就是我们可以使用python创建简单的石头剪刀布游戏的方式。
python设计石头剪刀布游戏五次游戏体验_Python设计一个石头、剪刀、布游戏相关推荐
- Java黑皮书课后题第5章:**5.34(游戏:石头、剪刀、布)编程练习题3.17给出玩石头-剪刀-布游戏的程序。修改这个程序,让用户可以连续玩这个游戏,直到用户或者计算机赢对手两次以上为止
5.34(游戏:石头.剪刀.布)编程练习题3.17给出玩石头-剪刀-布游戏的程序.修改这个程序,让用户可以连续玩这个游戏,直到用户或者计算机赢对手两次以上为止 题目 题目概述 编程练习题3.17 破题 ...
- python中answer是什么意思_用Python实现的quot;石头,剪刀,布quot; - The answer to everything - ITeye博客...
需求:设计一个"石头,剪子,布"游戏,有时又叫"Rochambeau",你小时候可能玩过,下面是规则.你和你的对手,在同一时间做出特定的手势,必须是下面一种手势 ...
- Python剪刀、石头、布游戏
学习python的第十天,发表一下,本段代码纯看要求就写出以下代码 花了一个小时写完执行成功,还是挺高兴的. 如果有人刚开始学可以找我,我们可以一起讨论学习~ import random play_s ...
- python--石头剪刀布游戏(列表)
本使用了下面几篇文章的知识: python(8)--列表·初阶使用_码银的博客-CSDN博客 python(7)--if语句_码银的博客-CSDN博客 一.学习目标 利用列表实现石头剪刀布游戏 二.实 ...
- day39 python 学习 数据库学习 五个约束,数据库设计(一对一,一对多等等)
删除重复数据: 注意数据库不能又查又删 *******#删除作者为重复数据并保留ID最大的是数据 delete from ren where author in (select * from(sel ...
- 设计类的五个原则_内容设计的5个原则
设计类的五个原则 重点 (Top highlight) There are many heuristics and principles for creating good content. Some ...
- [案例2-5]石头 剪刀 布小游戏
1.任务描述 "剪刀石头布"的游戏相信大家都不陌生,本案例要求编写一个剪刀石头布游戏的程序.程序启动后会随机生成1~3的随机数,分别代表剪刀.石头和布,玩家通过键盘输入剪刀.石头和 ...
- Kafka设计解析(五): Kafka Consumer设计解析
Kafka设计解析(五)- Kafka Consumer设计解析 大数据架构(郭俊_Jason) · 2015-09-18 08:24 点击上方 大数据架构 快速关注 Kafka Consumer ...
- 剪刀游戏c语言代码,C++编程锤子剪刀布游戏源代码
这个游戏的源代码很基础..一般学过程序的基本都看得懂...网上找的,自己稍作修改了 用的软件仍是Visual C++ 6.0 下面是源代码: #include #include #include vo ...
最新文章
- 九度OJ 1336:液晶屏裁剪 (GCD)
- 解决WINCE500中INTEL编译器无法完全卸载的问题
- python3 module 'pexpect' has no attribute 'spawn' 解决方法
- 2016视觉目标跟踪总结
- iOS中容易混淆的知识点(持续更新中)
- (转)光照模型及cg实现
- html写三角形,css3怎么写三角形?
- std::future和std::promise和std::packaged_task
- Linux的sort命令用法
- 华为云数据库首席架构师:关于数据库他这样说……
- github添加ToKen到本地并写入netrc实现自动登录
- python 连接hive_python pyhive通过SSH隧道连接hive报错,求解
- Flash Player的终章——赠予它的挽歌
- python 自然语言处理(四)____词典资源
- 计算机图形学及CAD技术 微盘,计算机图形学及cad技术讲义——曲线曲面基本理论.pdf...
- 网易公开课视频及字幕下载
- 微信更新版本下载链接汇总【持续更新】
- 可能是最通俗的Lempel-Ziv-Welch (LZW)无损压缩算法详述
- 创建create-react-app myapp项目报错
- C语言正弦和余弦的值