当前位置: 首页 > news >正文

python案例

这猜单词游戏。具体步骤如下:

  1. 导入random模块,用于随机选择单词。
  2. 设置初始生命次数为3。
  3. 创建一个单词列表words,其中包含了一些单词。
  4. 使用random.choices()函数从单词列表中随机选择一个单词作为秘密单词secret_word。
  5. 创建一个clue列表,用于表示未猜中的字母的占位符。初始时,将clue的每个元素都设置为问号'?'。
  6. 创建一个代表小心心的heart_symbol。
  7. 初始化一个布尔变量guessed_word_correctly,用于判断玩家是否成功猜到整个单词。
  8. 定义update_clue函数,该函数接受猜测的字母、秘密单词和占位符列表为参数,根据猜测的字母更新占位符列表。
  9. 在一个循环中,当剩余生命次数大于0时,执行以下操作:
    • 打印当前的占位符列表clue。
    • 打印剩余生命次数。
    • 让玩家输入猜测的字母或整个单词。
    • 如果玩家猜对了整个单词,将guessed_word_correctly设置为True,并跳出循环。
    • 如果玩家猜对了字母,调用update_clue函数更新占位符列表clue。
    • 如果玩家猜错了字母,打印错误提示信息,并将生命次数减1。
  10. 根据游戏结果输出相应的消息。
import random

# 生命次数
lives = 3
# 创建一个单词列表
words = ['pizza','dairy','teeth','shirt','otter','plane']
# 随机抽取一个单词
secret_word = random.choices(words)

# 创建一个列表
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]:
            print(guessed_letter)
            clue[index] = guessed_letter
            print(clue[index])
         index = index + 1
while lives > 0:
    print(clue)
    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[0])
else:
    print('你输了!秘密单词是: ' + secret_word[0])

需要注意的是,这段代码在随机选择单词时使用了random.choices()函数,该函数返回的是一个列表,而不是单个元素。因此,在后续的代码中,访问secret_word时需要使用secret_word[0]来获取实际的秘密单词。

本文由 mdnice 多平台发布

http://www.lryc.cn/news/120725.html

相关文章:

  • leetcode 63. 不同路径 II
  • c语言每日一练(5)
  • pycharm配置conda虚拟环境
  • ubuntu 如何命令行打开系统设置(Wifi,网络,应用程序...)
  • MySQL DQL 数据查询
  • 深度学习基础知识笔记
  • 怎么系统的学习机器学习、深度学习?当然是看书了
  • 无涯教程-Perl - binmode函数
  • Spring Boot Maven package时显式的跳过test内容
  • 排序算法————基数排序(RadixSort)
  • leetcode做题笔记75颜色分类
  • 聊一下互联网开源变现
  • PHP日期差计算器,计算两个时间相差 年/月/日
  • 20230812在WIN10下使用python3将SRT格式的字幕转换为SSA格式
  • matlab使用教程(13)—稀疏矩阵创建和使用
  • UI美工设计的主要职责(合集)
  • 【前端二次开发框架关于关闭eslint】
  • Scractch3.0_Arduino_ESP32_学习随记_蓝牙键盘(三)
  • Spark2.2出现异常:ERROR SparkUI: Failed to bind SparkUI
  • LeetCode 2811. Check if it is Possible to Split Array【脑筋急转弯;前缀和+动态规划或记忆化DFS】中等
  • 【学习日记】【FreeRTOS】链表结构体及函数详解
  • 【云原生•监控】基于Prometheus实现自定义指标弹性伸缩(HPA)
  • Windows、 Linux 等操作系统的基本概念及其常见操作
  • 【RabbitMQ】golang客户端教程5——使用topic交换器
  • SpringBoot对接OpenAI
  • (C++)继承
  • 图像处理技巧形态学滤波之膨胀操作
  • 机器学习基础之《特征工程(4)—特征降维》
  • 学生管理系统(Python版本)
  • Linux下快速创建大文件的4种方法总结