结合两个Python小游戏,带你复习while循环、if判断、函数等知识点

💐作者:insist--

💐个人主页:insist-- 的个人主页

理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里

❤️欢迎点赞👍收藏📁评论📒

目录

一、两个小游戏

1. 猜数字游戏

代码如下:

代码逻辑:

2. 石头剪刀布

代码如下:

代码逻辑:

二、代码中用到的知识点

1. 猜数字游戏

2. 石头剪刀布


前言

Python是一种高级编程语言,它具有简单易学、代码可读性高、应用广泛等优点。它支持面向过程、面向对象和函数式编程等多种编程范式,并且具有丰富的第三方库和模块支持,可以用来开发各种应用程序。

58338b2094784ca88958a49eb4f71261.png

一、两个小游戏

1. 猜数字游戏

这个游戏会随机生成一个1到100之间的数字,然后让玩家尝试猜测这个数字。每次猜测后,程序会告诉玩家猜的数字是过大还是过小,直到玩家猜中为止。

代码如下:

# 导入random模块
import random
# 定义一个名为guess_number的函数
def guess_number():# 使用random.randint(1, 100)函数生成一个介于1和100之间的随机整数,并将其赋值给变量numbernumber = random.randint(1, 100)# 进入无限循环(玩家可以无限制的猜测,直到猜测正确)while True:# 使用input函数提示玩家输入猜测的数字,并将其转换为整数类型后赋值给变量guessguess = int(input("请输入你猜的数字:"))# 如果玩家猜测的数字小于生成的随机数,打印“你猜小了!”if guess < number:print("你猜小了!")# 如果玩家猜测的数字大于生成的随机数,打印“你猜大了!”elif guess > number:print("你猜大了!")# 如果玩家猜测的数字等于生成的随机数,打印“恭喜你,猜对了!”并使用break语句跳出循环else:print("恭喜你,猜对了!")break
# 调用guess_number函数,开始游戏
guess_number()

代码逻辑:

在这个游戏中,我们使用了Python的random模块来生成一个随机数。然后,我们使用了一个无限循环来等待玩家的输入,并根据玩家的猜测给予提示。当玩家猜中数字后,我们跳出循环并结束游戏。

2. 石头剪刀布

这个游戏中,电脑会随机选择一种手势(石头、剪刀或布),然后让玩家选择一种手势进行比赛。程序会根据玩家选择的手势和随机生成的手势进行比较,判断胜负并输出结果。

代码如下:

# 定义一个名为rock_paper_scissors的函数
def rock_paper_scissors():# 定义一个列表,用于存储电脑的选择computer_choice = ["石头", "剪刀", "布"]# 提示玩家输入选择player_choice = input("请选择(石头、剪刀或布):")# 判断玩家输入的选择是否在电脑的选择列表中,如果不在,提示无效并重新调用函数if player_choice not in computer_choice:print("无效的选择,请重新输入!")return rock_paper_scissors()# 判断玩家选择和电脑选择的顺序,首先判断是否为石头对石头,如果是则判定为平局if player_choice == computer_choice[0]:print("平局!")# 如果玩家选择剪刀,而电脑选择石头,那么玩家输了elif player_choice == computer_choice[1]:print("你输了!")# 如果玩家选择了布,那么玩家赢了else:print("你赢了!")
# 调用函数开始游戏
rock_paper_scissors()

代码逻辑:

在这个游戏中,我们定义了一个列表来存储可能的手势。然后,我们使用了一个简单的if语句来比较玩家选择的手势和随机生成的手势,并根据比较结果输出胜负。如果玩家输入了无效的选择,我们会提示他们重新输入。

二、代码中用到的知识点

1. 猜数字游戏

  • 模块导入:通过import random导入了Python的random模块,用于生成随机数。
  • 函数定义:定义了一个名为guess_number的函数,用于实现猜数字游戏的主要逻辑。
  • 随机数生成:使用random.randint(1, 100)生成一个介于1和100之间的随机整数,作为玩家需要猜测的数字。
  • 循环语句:使用while True实现了一个无限循环,直到玩家猜对数字才会退出。
  • 输入/输出函数:使用input函数提示玩家输入他们的猜测,并使用int函数将输入的字符串转换为整数;使用print函数输出提示信息,如“请输入你猜的数字:”和游戏结果。
  • 条件语句:通过if-elif-else语句根据玩家猜测的数字与生成的随机数进行比较,输出相应的提示信息。
  • 变量赋值:在循环中,使用变量guess存储玩家的猜测。

2. 石头剪刀布

  • 函数定义/调用:代码中定义了一个名为rock_paper_scissors的函数,该函数用于实现游戏的主要逻辑;在代码的最后,通过调用rock_paper_scissors()函数开始游戏。
  • 列表:在函数内部,定义了一个包含电脑可能的选择的列表computer_choice。
  • 输入/输出函数:使用input函数提示玩家输入他们的选择,并将输入作为字符串赋值给player_choice变量;使用print函数输出游戏结果,如"平局!","你输了!",或"你赢了!"。
  • 条件判断:通过一系列的条件判断,如if player_choice not in computer_choice,来确定玩家输入的选择是否在电脑的选择列表中。
  • 递归:如果玩家输入的选择不在电脑的选择列表中,函数会通过递归调用自身来重新提示玩家输入。
  • 循环和条件语句:在函数内部,通过条件语句和循环语句来实现游戏的逻辑判断和结果输出。
  • 函数调用:在代码的最后,通过调用rock_paper_scissors()函数开始游戏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu18.04安装LeGO-LOAM保姆级教程

系统环境&#xff1a;Ubuntu18.04.6 LTS 1.LeGO-LOAM的安装前要求&#xff1a; 1.1 ROS安装&#xff1a;参考我的另一篇博客Ubuntu18.04安装ROS-melodic保姆级教程_灬杨三岁灬的博客-CSDN博客文章浏览阅读168次。Ubuntu18.04安装ROS-melodic保姆级教程https://blog.csdn.net/…

鸿蒙系统扫盲(二):再谈鸿蒙是不是安卓套壳?

最近小米发布了澎湃OS&#xff0c;vivo发布了蓝OS&#xff0c;好像自从华为回归后&#xff0c;大伙都开始写自己的OS了&#xff0c;小米官方承认是套壳安卓&#xff0c;然后被大家喷了&#xff0c;于是鸿蒙是不是安卓套壳的话题又回到了大众的视野&#xff0c;今天在讨论下这个…

解决uncompyle6反编译报错KeyError

报错内容&#xff1a;KeyError&#xff1a;3.11.0 &#xff08;这个是我自己的Python版本号&#xff09; 主要原因就是你的Python版本没在它库文件支持的版本里&#xff0c;我们需要进行手动添加即可。 首先找到文件&#xff1a;magics.py 我的是在这个路径下&#xff1a;D:\…

5.2 Windows驱动开发:内核取KERNEL模块基址

模块是程序加载时被动态装载的&#xff0c;模块在装载后其存在于内存中同样存在一个内存基址&#xff0c;当我们需要操作这个模块时&#xff0c;通常第一步就是要得到该模块的内存基址&#xff0c;模块分为用户模块和内核模块&#xff0c;这里的用户模块指的是应用层进程运行后…

ubuntu linux C/C++环境搭建

目录 前言 1.1 vim安装与配置 ​编辑 1.2 vim配置 1.3 gcc g编译器的安装 与gdb调试器的安装 1.4 写个C/C程序测试一下 1.6 vscode安装 1.7 vscode插件下载​编辑 前言 在开始C之前&#xff0c;我们需要搭建好C的开发环境&#xff0c;我这里使用的操作系统是ubuntu Linux&a…

Java实现象棋算法

象棋算法包括搜索算法、评估函数和剪枝算法。以下是一个简单的实现&#xff1a; 搜索算法&#xff1a;使用极大极小值算法&#xff0c;即每个玩家都会做出最好的选择&#xff0c;考虑到对方也会做出最好的选择&#xff0c;所以需要搜索多层。 public int search(int depth, i…

数据库-索引

一、概述 索引是SQL优化的核心 索引(index)是帮助MySQL高效获取数据的数据结构。在数据之外&#xff0c;数据库系统还维护着满足特定查找算法的数据结构&#xff0c;这些数据结构以某种引用(指向数据)&#xff0c;这样可以在这些数据结构上实现高级查找算法&#xff0c;这种数…

深度学习之基于YoloV5抽烟检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于YOLOv5&#xff08;You Only Look Once&#xff09;的抽烟检测系统可以用于实时检测图像或视频中是否存在抽烟行…

CF 1894A 学习笔记 思维 题意理解分析

原题 A. Secret Sport time limit per test 3 seconds memory limit per test 512 megabytes input standard input output standard output Lets consider a game in which two players, A and B, participate. This game is characterized by two positive integer…

IvorySQL3.0:基于PG16.0最新内核,实现兼容Oracle数据库再升级

Oracle作为全球最大的数据库厂商之一&#xff0c;具有较高的市场知名度和份额。但随着数据处理需求日益增长&#xff0c;使用Oracle的企业可能面临一些挑战&#xff0c;如数据库复杂性、高昂维护成本、数据迁移和集成问题等&#xff0c;难以满足企业实时数据处理需求&#xff0…

UI 自动化测试框架设计与 PageObject 改造!

在 UI 自动化测试过程中&#xff0c;面对复杂的业务场景&#xff0c;经常会遇到这样的挑战&#xff1a; 简单的录制/回放速度快&#xff0c;但无法适应复杂场景&#xff1b;编写自动化测试脚本比较灵活&#xff0c;但工作量大且可维护性差&#xff1b;以往的封装技术&#xff…

webpack 创建typescript项目

【视频链接】尚硅谷TypeScript教程&#xff08;李立超老师TS新课&#xff09; 创建webpack 项目 IDE&#xff1a;webstorm 新建一个空的项目运行npm init初始化项目目录结构 1. 安装 webpack&#xff1a;构建工具webpack-cli&#xff1a; webpack的命令行工具typescript&am…

单链表在线OJ题(详解+图解)

1.删除链表中等于给定值 val 的所有节点 本题的要求是输入一个val的整形值&#xff0c;若链表中节点存储的值与val相等&#xff0c;则删除这个节点&#xff0c;并最后返回这个删除节点后的链表&#xff0c;思路如下&#xff1a; 我们可以直接使用while循环&#xff0c;并且使用…

SAP gui 登录条目不让修改

今天碰到用户安装的GUI 770 版本&#xff0c;不让修改&#xff0c;也不让添加 后面再选项里面找到了

安防监控视频云存储平台EasyCVR页面播放卡顿的优化方法

视频监控平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多路视频流&#xff0c;也能支持视…

ky10 server aarch64 离线安装openssl3.1.4

离线程序 https://gitcode.net/zengliguang/ky10_aarch64_openssl_install.git 输入下面命令执行离线安装脚本 source openssl_offline_install.sh 安装完成

郎酒“掉队”,经销商们能等来春天吗?

文 | 螳螂观察&#xff08;TanglangFin&#xff09; 作者 | 渡过 有“六朵金花”之称的川酒品牌中&#xff0c;五粮液、泸州老窖、舍得、水井坊都已成功上市&#xff0c;只剩下郎酒和剑南春未上市。 与IPO的“掉队”相对应的&#xff0c;是郎酒在冲刺高端、内部管理、渠道管…

安全领航,共筑敏捷开发新时代【云驻共创】

安全领航&#xff0c;共筑敏捷开发新时代。网络安全形势虽然严峻&#xff0c;但得益于企业安全意识的提升&#xff0c;近两年来遭受网络攻击的网站不断减少&#xff0c;普通网民的个人隐私及其他敏感数据得到了更多的保证。华为云基于自身多年的安全经验研发了可以帮助开发者实…

(一)pytest自动化测试框架之生成测试报告(mac系统)

前言 我们可以通过pytest-html插件来生成测试报告&#xff0c;但是pytest-html插件生成的测试报告不够美观&#xff0c;逼格也不够高&#xff0c;通过allure生成的测试报告是比较美观的&#xff0c;花里胡哨的&#xff0c;能够提升一个level。 allure官网&#xff1a; Allure…

布尔类型的转换

1.图示 2.说明 空数组[]和空对象{}都是Object类型&#xff0c;因此直接用于if判断条件时都会被转化为true。任意值与布尔值比较&#xff0c;都会将两边的值转化为Number。如果将空数组[ ]与布尔值false比较&#xff0c;false转化为0&#xff0c;而空数组[ ]转化为0&#xff0c…