【Python】Python 实现猜单词游戏——挑战你的智力和运气!

简介: 【Python】Python 实现猜单词游戏——挑战你的智力和运气!

前言

大家好!欢迎来到我们精心准备的文字游戏世界。今天,我将向大家介绍一款有趣而又考验智力的游戏——猜单词游戏。在游戏中,你将面临一个神秘的单词,你需要凭借自己的智慧和运气来猜测这个单词是什么。每猜错一次,你将失去一条生命线,当生命线用尽时,你将面临失败。但只要你成功猜对了整个单词,那么胜利就属于你!现在,让我们开始挑战吧!

学到什么?

  1. 使用random模块来随机选择元素。
  • 在这个代码中,使用random.choice()函数从一个含有多个单词的列表中随机选择一个单词作为神秘单词。
  1. 字符串操作和列表操作。
  • 利用字符串的乘法运算符可以将某个字符重复多次,例如heart_symbol * lives会生成一个由心形符号组成的字符串,表示剩余生命次数。
  • 将字符串转换为列表,可以使用list()函数,例如clue = list('?????'),将包含五个问号的字符串转换为一个包含五个元素的列表。
  1. 循环的使用。
  • 主循环使用了while语句,可以在满足条件(lives > 0)的情况下重复执行一段代码块。
  • while循环的终止条件是生命次数不大于0,即玩家没有生命次数剩余。
  1. 条件判断和分支控制。
  • 使用if语句进行条件判断,根据用户的猜测结果进行不同的操作。
  • 如果用户猜对了整个单词,则结束循环并显示胜利信息。
  • 如果用户猜对了某个字母,则更新显示猜测进度。
  • 如果用户猜错了字母,则扣除一次生命次数。
  1. 函数的定义和调用。
  • 定义了一个update_clue函数,用于根据用户猜对的字母更新显示猜测进度。
  • 在主循环中,通过调用update_clue函数来更新clue列表。
  1. 用户输入的获取。
  • 使用input()函数获取用户的猜测,用户可以输入单个字母或者整个单词。

导入 random 模块

import random

通过 import random 语句,导入了 Python 的 random 模块,使我们能够使用随机选择功能。

定义生命次数

lives = 3

通过 lives = 3 语句,初始化了一个变量 lives,表示玩家的生命次数,初始值为 3。

定义神秘单词并进行随机选择

words = ['pizza', 'fairy', 'teeth', 'shirt', 'otter', 'plane']
secret_word = random.choice(words)

通过 words = ['pizza', 'fairy', 'teeth', 'shirt', 'otter', 'plane'] 定义了一个包含多个单词的列表。然后,使用 secret_word = random.choice(words) 随机选择其中一个单词作为神秘单词,将其保存在 secret_word 变量中。

定义 clue(猜测进度) 列表,用问号 ‘?’ 初始化

clue = list('?????')

通过 clue = list('?????') 将一个包含五个问号 '?????' 的字符串转换为一个包含五个元素的列表 clue

定义心形符号的 Unicode 编码

heart_symbol = u'\u2764'

通过 heart_symbol = u'\u2764' 定义了一个变量 heart_symbol,表示心形符号的 Unicode 编码。这个符号将用于显示剩余生命次数。

初始化 guessed_word_correctly 变量

guessed_word_correctly = False

通过 guessed_word_correctly = False 初始化了一个布尔变量 guessed_word_correctly,用于标记是否猜对了整个单词,默认值为 False。

定义更新猜测进度函数 update_clue

def update_clue(guessed_letter, secret_word, clue):
    index = 0
    while index < len(secret_word):
        if guessed_letter == secret_word[index]:
            clue[index] = guessed_letter
        index = index + 1

通过 def update_clue(guessed_letter, secret_word, clue) 定义了一个名为 update_clue 的函数。该函数接受三个参数:guessed_letter 表示用户猜测的字母,secret_word 表示神秘单词,clue 表示猜测进度列表。在函数体内部,使用 while 循环和条件判断,根据用户猜测的字母更新猜测进度列表。

主循环,直到生命次数用尽或猜对了整个单词才结束

while lives > 0:
    print(words)
    print('剩余生命次数: ' + heart_symbol * lives)
    guess = input('猜测字母或者是整个单词: ')

通过 while lives > 0: 定义了一个主循环。在每次循环中,打印可选的单词列表,显示剩余生命次数,并通过 input() 函数获取用户的猜测。

判断用户猜对了整个单词的情况

if guess == secret_word:
        guessed_word_correctly = True
        break

通过 if guess == secret_word: 判断用户猜测是否等于神秘单词,如果相等,则将 guessed_word_correctly 设置为 True,并跳出循环。

判断用户猜对了某个字母的情况

if guess in secret_word:
        update_clue(guess, secret_word, clue)

通过 if guess in secret_word: 判断用户猜测是否在神秘单词中存在。如果存在,则调用 update_clue 函数,更新猜测进度列表。

判断用户猜错了字母的情况

else:
        print('错误。你丢了一条命\n')
        lives = lives - 1

如果用户猜测既不是整个单词又不是某个字母,则输出错误信息,并扣除一次生命次数。

根据游戏结果判断胜负,并输出相应信息

if guessed_word_correctly:
    print('你赢了! 秘密单词是 ' + secret_word)
else:
    print('你输了! 秘密单词是 ' + secret_word)

通过 if guessed_word_correctly: 判断玩家是否猜对了整个单词,如果是,则输出胜利信息。否则,输出失败信息,同时显示正确的神秘单词。

完整代码

import random
# 生命次数
lives = 3
# 神秘单词, 随机选择
words = ['pizza', 'fairy', 'teeth', 'shirt', 'otter', 'plane']
secret_word = random.choice(words)
# print(secret_word)
clue = list('?????')
heart_symbol = u'\u2764'
guessed_word_correctly = False
def update_clue(guessed_letter, secret_word, clue):
    index = 0
    while index < len(secret_word):
        if guessed_letter == secret_word[index]:
            clue[index] = guessed_letter
        index = index + 1
while lives > 0:
    print(words)
    print('剩余生命次数: ' + heart_symbol * lives)
    guess = input('猜测字母或者是整个单词: ')
    if guess == secret_word:
        guessed_word_correctly = True
        break
    if guess in secret_word:
        update_clue(guess, secret_word, clue)
    else:
        print('错误。你丢了一条命\n')
        lives = lives - 1
if guessed_word_correctly:
    print('你赢了! 秘密单词是 ' + secret_word)
else:
    print('你输了! 秘密单词是 ' + secret_word)

结束语

经过精彩的文字游戏旅程,你成功挑战了猜单词游戏!无论输赢,都对 Python 的随机选择、字符串操作、条件判断等方面有了更深入的了解。希望这次的游戏能够让你愉快并且有所收获。继续探索编程的乐趣吧!

相关文章
|
1月前
|
IDE 开发工具 Python
Python扑克游戏编程---摸大点
Python扑克游戏编程---摸大点
|
2月前
|
Python
python编写下象棋游戏|4-14
python编写下象棋游戏|4-14
|
2月前
|
人工智能 算法 图形学
总有一个是你想要的分享40个Python游戏源代码
这是一系列基于Python开发的游戏项目集合,包括中国象棋、麻将、足球、坦克大战、扑克等多种类型游戏,运用了Pygame等库实现图形界面与AI算法。此外还包含迷宫、数独、推箱子等益智游戏及经典游戏如《仙剑奇侠传二战棋版》和《星露谷物语》的Python版本,适合编程学习与娱乐。
108 11
|
1月前
|
数据采集 前端开发 Python
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
70 0
|
2月前
|
消息中间件 数据采集 数据库
庆祝吧!Python IPC让进程间的合作,比团队游戏还默契
【9月更文挑战第7天】在这个数字化时代,软件系统日益复杂,单进程已难以高效处理海量数据。Python IPC(进程间通信)技术应运而生,使多进程协作如同训练有素的电竞战队般默契。通过`multiprocessing`模块中的Pipe等功能,进程间可以直接传递数据,无需依赖低效的文件共享或数据库读写。此外,Python IPC还提供了消息队列、共享内存和套接字等多种机制,适用于不同场景,使进程间的合作更加高效、精准。这一技术革新让开发者能轻松应对复杂挑战,构建更健壮的软件系统。
36 1
|
3月前
|
机器学习/深度学习 存储 定位技术
强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学
本文是关于使用Pygame库开发Python贪吃蛇游戏的实战教学,介绍了Pygame的基本使用、窗口初始化、事件处理、键盘控制移动、以及实现游戏逻辑和对象交互的方法。
|
4月前
|
机器学习/深度学习 人工智能 开发者
Python适合做游戏吗?
【7月更文挑战第2天】Python适合做游戏吗?
111 56
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇--游戏生成技术
游戏生成技术,特别是生成式人工智能(Generative Artificial Intelligence, 简称Generative AI),正逐步革新游戏开发的多个层面,从内容创作到体验设计。这些技术主要利用机器学习、深度学习以及程序化内容生成(Procedural Content Generation, PCG)来自动创造游戏内的各种元素,显著提高了开发效率、丰富了游戏内容并增强了玩家体验。以下是生成式AI在游戏开发中的几个关键应用场景概述
66 2
|
3月前
|
Python
【python】Python成语接龙游戏[1-3难度均有](源码+数据)【独一无二】
【python】Python成语接龙游戏[1-3难度均有](源码+数据)【独一无二】
|
3月前
|
Python
【Leetcode刷题Python】174. 地下城游戏
LeetCode 174题 "地下城游戏" 的Python解决方案,使用动态规划算法计算骑士从左上角到右下角拯救公主所需的最低初始健康点数。
51 3