入门实战丨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()检查洞穴中的情况,并根据结果输出相应的信息。


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


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

运行结果

写在后面

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

目录
相关文章
|
5天前
|
安全 Java 调度
「Python入门」Python多线程
1. **线程与进程区别**:线程共享内存,进程独立;线程启动快,多线程效率高于多进程。 2. **多线程使用**:直接使用Thread类,通过`target`指定函数,`args`传递参数;或继承Thread,重写`run`方法。 3. **守护线程**:设置`setDaemon(True)`,主线程结束时,守护线程一同结束。 4. **join线程同步**:主线程等待子线程完成,如`t.join()`。 5. **线程锁**(Mutex):防止数据竞争,确保同一时间只有一个线程访问共享资源。 6. **RLock(递归锁)**:允许多次锁定,用于需要多次加锁的递归操作。
15 1
「Python入门」Python多线程
|
5天前
|
数据采集 XML JSON
「Python入门」Python代码规范(风格)
**Python编码规范摘要** - 编码:使用UTF-8编码,文件开头可声明`# -- coding: utf-8 --`。 - 分号:避免在行尾使用,不用于分隔命令。 - 行长:不超过80字符,长表达式可使用括号换行。 - 缩进:使用4个空格,禁止混用tab。 - 注释:行注释始于`#`和空格,块注释和文档注释遵循特定格式。 - 空行:函数和类定义间用2空行,方法间1空行,内部适当空行。 - 空格:运算符两侧各空一格,逗号后空格,括号内不空格。 - 命名:模块小写,变量下划线分隔,类驼峰式,布尔变量前缀`is_`。 - 引号:保持一致性,可使用单引号或双引号。
11 1
「Python入门」Python代码规范(风格)
|
2天前
|
存储 算法 Python
Python图论实战:从零基础到精通DFS与BFS遍历,轻松玩转复杂网络结构
【7月更文挑战第11天】图论在数据科学中扮演关键角色,用于解决复杂网络问题。Python因其易用性和库支持成为实现图算法的首选。本文通过问答形式介绍DFS和BFS,图是节点和边的数据结构,遍历用于搜索和分析。Python中图可表示为邻接表,DFS用递归遍历,BFS借助队列。DFS适用于深度探索,BFS则用于最短路径。提供的代码示例帮助理解如何在Python中应用这两种遍历算法。开始探索图论,解锁更多技术可能!
17 6
爆赞!GitHub首本Python开发实战背记手册,标星果然百万名不虚传
Python (发音:[ 'paiθ(ə) n; (US) 'paiθɔn ] n. 蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。 Python 语言的特点:
|
2天前
|
算法 搜索推荐 编译器
算法高手养成记:Python快速排序的深度优化与实战案例分析
【7月更文挑战第11天】快速排序是编程基础,以O(n log n)时间复杂度和原址排序著称。其核心是“分而治之”,通过选择基准元素分割数组并递归排序两部分。优化包括:选择中位数作基准、尾递归优化、小数组用简单排序。以下是一个考虑优化的Python实现片段,展示了随机基准选择。通过实践和优化,能提升算法技能。**
8 3
|
1天前
|
Python
告别阻塞,拥抱未来!Python 异步编程 asyncio 库实战指南!
【7月更文挑战第12天】Python的`asyncio`库是异步编程的关键,它允许程序在等待IO操作时执行其他任务,提升效率。异步函数用`async def`定义,`await`用于挂起执行。
13 1
|
2天前
|
人工智能 数据挖掘 大数据
爆赞!GitHub首本标星120K的Python程序设计人工智能案例手册
为什么要学习Python? Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Pytho
|
3天前
|
数据库 数据安全/隐私保护 C++
Python并发编程实战:线程(threading)VS进程(multiprocessing),谁才是并发之王?
【7月更文挑战第10天】Python并发对比:线程轻量级,适合I/O密集型任务,但受GIL限制;进程绕过GIL,擅CPU密集型,但通信成本高。选择取决于应用场景,线程利于数据共享,进程利于多核利用。并发无“王者”,灵活运用方为上策。
|
5天前
|
SQL 关系型数据库 MySQL
「Python入门」python操作MySQL和SqlServer
**摘要:** 了解如何使用Python的pymysql模块与MySQL数据库交互。首先,通过`pip install pymysql`安装模块。pymysql提供与MySQL的连接功能,例如创建数据库连接、执行SQL查询。在设置好MySQL环境后,使用`pymysql.connect()`建立连接,并通过游标执行SQL(如用户登录验证)。注意防止SQL注入,使用参数化查询。增删改操作需调用`conn.commit()`来保存更改。pymssql模块类似,但导入和连接对象创建略有不同。
10 0
「Python入门」python操作MySQL和SqlServer
|
5天前
|
并行计算 Java Python
「Python入门」Python多进程
本文探讨Python中的单进程和多进程。多进程使用`multiprocessing`库,如`Process`类,类似于`threading.Thread`。进程是操作系统分配资源的基本单位,每个程序至少有一个进程。多进程允许多个任务并发执行,提升效率,尤其在多核CPU上优于多线程,因Python的GIL限制了多线程的并行计算。文中通过吃饭睡觉打豆豆的例子,展示了单进程按顺序执行,多进程则可并发执行。还介绍了带参数的多进程、获取进程ID、主进程等待子进程结束及子进程守护等概念。在IO或网络密集型任务中,多线程和多进程各有优势,具体选择应根据任务类型和资源需求。
「Python入门」Python多进程