入门实战丨Python小游戏经典案例

简介: 入门实战丨Python小游戏经典案例

写在前面

本期内容:两个个简单的Python小游戏入门案例。

实验需求:python

实验目标:掌握基本的判断与循环语句。

判断与循环

判断与循环是编程中非常重要的两个概念,它们可以帮助开发者控制程序的执行流程,实现不同的逻辑和功能。


判断语句(if语句)是一种在程序中根据条件判断来执行不同操作的结构。它的基本形式是:如果某个条件成立,就执行某段代码;否则执行另外一段代码。例如,如果一个数大于等于10,则输出“这个数大于等于10”,否则输出“这个数小于10”。判断语句可以根据实际情况来选择要执行的代码段,从而实现不同的操作。


循环语句(for循环、while循环)是一种重复执行某段代码的结构。它的基本形式是:在满足某个条件下,重复执行某段代码。例如,计算1到100的和,可以使用循环语句来重复累加数字。循环语句可以让程序多次执行同一段代码,从而实现重复性的操作。


判断和循环语句通常会结合使用,以实现更复杂的功能。例如,在一个学生成绩管理系统中,可以使用判断语句判断一个学生的成绩是否及格,然后使用循环语句来遍历多个学生的成绩。


在编程中,判断和循环语句的使用非常灵活。可以根据实际情况来选择不同的条件和循环方式。判断语句可以嵌套使用,从而实现更复杂的判断逻辑;循环语句可以使用不同的方式控制循环次数,例如使用计数变量、条件表达式等。


判断与循环是编程中非常基础和重要的概念,几乎在任何编程语言中都有对应的语法。掌握好判断和循环的用法,可以帮助开发者更好地控制程序的执行流程,实现各种复杂的逻辑和功能。因此,学习判断和循环是编程入门的必备知识,也是进阶和深入学习的基础。

小游戏

猜数游戏

完整程序

"""
作者:Want595
微信号:Want_595
公众号:Want595
"""
import random

gessesTaken = 0

print('请输入你的姓名:')
myName = input()
number = random.randint(1, 20)
print('Hi!' + myName + ',我的年龄在1~20间噢~')
for guessesTaken in range(6):
    print('猜一猜吧:')
    guess = int(input())
    if guess < number:
        print("猜小啦")
    elif guess > number:
        print("猜大啦")
    else:
        break
if guess == number:
    guessesTaken = str(guessesTaken + 1)
    print("恭喜你猜对啦!")

if guess != number:
    number = str(number)
    print("别猜啦,我其实" + number + "岁.")

程序分析


这段程序是一个猜年龄的小游戏。首先,程序会生成一个随机数作为目标年龄。然后,程序会询问玩家的姓名,并打印问候语。接下来,程序会循环6次,每次循环中,玩家可以输入一个猜测的年龄。程序会根据猜测和目标年龄的大小关系给出不同的回答,直到玩家猜对或者循环结束。最后,程序会根据猜测是否正确给出不同的提示信息。


在程序分析方面,可以从以下几个方面进行分析:

  1. 程序的目的是让玩家猜测一个随机生成的年龄。为了实现这个目的,程序使用了随机数生成器和循环机制。
  2. 程序通过调用random.randint(1, 20)函数生成一个1到20之间的随机数作为目标年龄。
  3. 程序使用input函数获取玩家的姓名,并将其保存在变量myName中。
  4. 程序使用for循环进行猜测的次数限制,循环6次。
  5. 在每次循环中,程序使用input函数获取玩家的猜测,并将其转换为整数类型保存在变量guess中。
  6. 程序使用if-elif-else语句根据玩家的猜测和目标年龄的大小关系给出不同的回答。
  7. 如果玩家猜对了,程序会使用break语句退出循环,并给出恭喜的提示信息。
  8. 如果玩家没有猜对,程序会在循环结束后给出正确的年龄,并提示玩家不要再猜。

总的来说,这段程序是一个简单的猜年龄游戏,通过使用随机数和循环,引导玩家猜测目标年龄,并给予相应的回答。程序的逻辑比较清晰简单,不过可以考虑添加一些异常处理,如对输入的合法性进行验证等。另外,


也可以在猜对后显示玩家的猜测次数,以增加游戏的趣味性。

运行结果

龙的世界

程序设计

import random
import time


def displayIntro():
    print('''欢迎来到龙的世界''')
    print()


def chooseCave():
    cave = ''
    while cave != '1' and cave != '2':
        print('你选择进入哪个洞穴? ? (1 or 2)')
        cave = input()

    return cave


def checkCave(choseCave):
    print('你正在慢慢的靠近这个山洞...')
    time.sleep(2)
    print('突然一条巨龙跳了出来,并张开了大大的嘴巴 ...')
    print()
    time.sleep(2)

    friendlyCave = random.randint(1, 2)

    if choseCave == str(friendlyCave):
        print('充满微笑的给你他的宝藏!')
    else:
        print('一口把你吃掉!')


playAgain = 'yes'
while playAgain == 'yes' or playAgain == 'y':
    displayIntro()
    caveNumber = chooseCave()
    checkCave(caveNumber)

    print('你还想再玩一次吗? (yes or no)')
    playAgain = input()

程序分析

这个程序是一个文字冒险游戏,玩家必须选择进入两个洞穴中的一个,并根据随机生成的巨龙的友好性来决定是否成功获得宝藏。


程序首先导入了random和time模块,用于生成随机数和控制程序的运行时间。


然后定义了三个函数,分别是displayIntro()用于展示游戏的介绍信息,chooseCave()用于让玩家选择洞穴,checkCave(cave)用于根据玩家的选择检查洞穴中的情况。


在主程序中,使用一个while循环来控制游戏的运行。首先调用displayIntro()展示游戏介绍信息,然后调用chooseCave()让玩家选择洞穴。接下来调用checkCave()检查洞穴中的情况,并根据结果输出相应的信息。


最后,根据玩家的输入决定是否继续玩游戏。


整个程序的逻辑比较简单,玩家只需选择洞穴,然后根据随机出现的巨龙的友好程度决定游戏的结果。程序结构清晰,易于理解和修改。

运行结果

写在后面

我是一只有趣的兔子,感谢你的喜欢!

目录
相关文章
|
2月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
298 7
|
2月前
|
数据采集 Web App开发 数据安全/隐私保护
实战:Python爬虫如何模拟登录与维持会话状态
实战:Python爬虫如何模拟登录与维持会话状态
|
2月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
305 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
2月前
|
存储 分布式计算 测试技术
Python学习之旅:从基础到实战第三章
总体来说,第三章是Python学习路程中的一个重要里程碑,它不仅加深了对基础概念的理解,还引入了更多高级特性,为后续的深入学习和实际应用打下坚实的基础。通过这一章的学习,读者应该能够更好地理解Python编程的核心概念,并准备好应对更复杂的编程挑战。
107 12
|
2月前
|
存储 数据采集 监控
Python文件操作全攻略:从基础到高级实战
本文系统讲解Python文件操作核心技巧,涵盖基础读写、指针控制、异常处理及大文件分块处理等实战场景。结合日志分析、CSV清洗等案例,助你高效掌握文本与二进制文件处理,提升程序健壮性与开发效率。(238字)
285 1
|
2月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
488 1
|
2月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
257 0
|
2月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
356 0
|
人工智能 供应链 前端开发
【精品问答】Python实战100例 | 技术日报(16期)
【精品问答】Python实战100例,确定不mark吗?还有云计算招聘岗位全方位需求解析+学习路径指南精彩直播,对云计算感兴趣的高校生、职场新人看过来~
597 0
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
287 102

推荐镜像

更多