热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一款Python字谜游戏

一款 Python 字谜游戏原文:https://www.geeksforgeeks.org/project-idea-game

一款 Python 字谜游戏

原文:https://www.geeksforgeeks.org/project-idea-game-anagrams/

项目想法:
这个项目的目的是用 python 创建一个游戏,在这个游戏中,用户被呈现一个单词的字谜,并且必须在有限的尝试次数内猜出正确的单词。

项目特点:


  1. 用户被给予固定次数的猜测正确单词的尝试。尝试的次数取决于单词的长度。

  2. 在每一次不正确的尝试之后,都会向用户提供正确单词的提示。

  3. 如果用户在固定的尝试次数内不能猜出正确的单词,则显示正确的单词,游戏继续下一个单词。

  4. Ctrl+C 或 Ctrl+D 退出游戏。

实现:
本教程仅对基于 Linux 的系统有效。本教程是在 Linux Mint 17.1 系统上编写的。关于在其他 Linux 系统(红帽、Arch)上的实现,请参见本教程末尾的特别说明。

在几乎所有基于 Linux 的系统中,都有一个位于目录位置“/usr/share/dict/”的文件,它有不同的名称,如“CRA lib-small”(基于 Ubuntu 的系统)、“words”(Redhat,Arch),其中包含字典中的单词,许多应用程序经常使用它来实现“拼写检查”等功能。

在这个项目中,我将使用相同的文件来创建一个字谜游戏。

阅读文件可以为我们提供游戏所需的所有单词。文件中的单词用新的一行分隔,因此在读取文件时,我们需要根据新的一行字符拆分单词,以获得单个单词。相同的代码如下所示:

Python 3

loc='/usr/share/dict/cracklib-small'
with open(loc) as f:
cOntent=f.read().split('\n')
f.close()

该文件还包含像“动物园的”这样的词,但我们不希望这样的词出现在我们的游戏中,所以我们可以省略它们。为了避免让游戏变得太简单,我决定也省略长度小于 5 的单词,但是这一步是可选的,可以跳过。相同的代码如下所示:

Python 3

l=len(content)
words=[]
for i in range(0,l):
    if '\'' in content[i] or len(content[i])<5:
    continue
words.append(content[i])

该文件的开头还包含类似“第二,第三”的单词。为了防止它们出现在我们的游戏中,我们省略了它们:

Python 3

words=words[1:]
d=len(words)
words=words[:d]

推荐阅读
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍如何使用 Python 将一个字符串按照指定的行和元素分隔符进行两次拆分,最终将字符串转换为矩阵形式。通过两种不同的方法实现这一功能:一种是使用循环与 split() 方法,另一种是利用列表推导式。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文介绍如何使用 Python 编写程序,检查给定列表中的元素是否形成交替峰值模式。我们将探讨两种不同的方法来实现这一目标,并提供详细的代码示例。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
author-avatar
EvaMa奕文产_799
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有