0

0

Solving Word Cookies Puzzles: A Python Adventure

碧海醫心

碧海醫心

发布时间:2024-12-06 18:24:15

|

1070人浏览过

|

来源于dev.to

转载

玩游戏是让大脑从一天的压力中放松下来的一种方式,或者只是从工作中休息一下。然而,有时,游戏本身就会带来压力,所以我认为“word cookies”就是这样,这是一款有趣的益智游戏,你会得到一组打乱的字母,并被要求解决其中包含的单词。

Solving Word Cookies Puzzles: A Python Adventure

随着我在游戏中的进展,解决问题变得越来越困难,几乎没有资源可以帮助我,我多次陷入困境。但是等一下,我用 python 编写代码,为什么我找不到出路呢?这就是 python 语言大放异彩的地方。

现在我如何使用python来解决混乱的问题。我需要一种方法来检查乱序字母中的单词,我将实现分解为简单的步骤。

计划:

  1. 获取单词词典来检查打乱的字母。
  2. 创建一个仅包含 n 个字母单词的 csv,在本例中我创建了一个包含 3 个字母单词到 7 个字母单词的 csv
  3. 检查 csv 中的某个单词是否其所有字母都包含在打乱的字母中
  4. 将其保存到自己的单词数列表中,例如,如果一个单词是“age”,那么它将保存到 3 个字母的单词列表中,依此类推。
  5. 显示结果

让我们开始工作吧:

首先,我在网上搜索并找到了一本可以下载 csv 格式的字典,并将其分成包含每个字母的单独 csv 文件。它看起来像这样:

立即学习Python免费学习笔记(深入)”;

Solving Word Cookies Puzzles: A Python Adventure

接下来,我有一个 python 代码来从 a-z 检查 csv,并挑选出 3 个字母的单词,并省略带有空格和其他不可用格式的单词。这是同时对 4、5、6 和 7 个字母的单词进行的。

它看起来像这样:

import os
import csv
import re
import pandas as pd

# define folder paths
input_folder = 'c:\\users\\zenbook\\desktop\\word lists in csv'
output_folder = 'c:\\users\\zenbook\\desktop\\word list output'


# function to find words of specific lengths in text
def find_words_of_length(text, length):
    words = re.findall(r'\b\w+\b', text)
    return [word for word in words if len(word) == length]


# initialize dictionaries to store words of each length
words_by_length = {3: set(), 4: set(), 5: set(), 6: set(), 7: set()}

# loop through all csv files in the input folder
for filename in os.listdir(input_folder):
    if filename.endswith('.csv'):
        filepath = os.path.join(input_folder, filename)

        # read each csv file with a fallback encoding
        with open(filepath, 'r', encoding='iso-8859-1') as file:
            reader = csv.reader(file)
            for row in reader:
                # loop through each cell in the row
                for cell in row:
                    for length in words_by_length.keys():
                        words = find_words_of_length(cell, length)
                        words_by_length[length].update(words)

# save words of each length to separate csv files
for length, words in words_by_length.items():
    output_file = os.path.join(output_folder, f'{length}_letters.csv')
    with open(output_file, 'w', newline='', encoding='utf-8') as file:
        writer = csv.writer(file)
        for word in sorted(words):  # sort words for neatness
            writer.writerow([word])

print("words have been saved to separate csv files based on their length.")


这是我指定的输出文件夹中的结果:

Solving Word Cookies Puzzles: A Python Adventure

Multiavatar
Multiavatar

Multiavatar是一个免费开源的多元文化头像生成器,可以生成高达120亿个虚拟头像

下载

现在有了这个输出文件夹,我只需检查其中的单词,看看它们是否包含在打乱的字母中。这是执行此操作的代码:

import csv

# Define the string to check against
check_string = 'langaur'

# Define the folder path for CSV files
input_folder = 'C:\\Users\\Zenbook\\Desktop\\Word list output'


# Function to check if all letters in word can be found in check_string
def is_word_in_string(word, check_string):
    # Check if each letter in the word is in the string
    for letter in word:
        if word.count(letter) > check_string.count(letter):
            return False
    return True


# Check words for 3, 4, 5, 6 and 7-letter CSVs
for length in [3, 4, 5, 6, 7]:
    input_file = f'{input_folder}/{length}_letters.csv'
    print(f"\nLength {length}:")

    with open(input_file, 'r', encoding='utf-8') as file:
        reader = csv.reader(file)
        found_words = []

        for row in reader:
            word = row[0].strip()  # Remove any extra whitespace
            if is_word_in_string(word, check_string):
                found_words.append(word)

        # Print all found words for the given length
        for i in found_words:
            print(i)

快速细分:

我们从前面的代码中获取输出文件夹,并将其用作上面实际解决方案代码中的输入文件夹。该解决方案的优点在于函数“is_word_in_string”的简单性。我们不必检查打乱的单词中是否包含单个字母,因为这将是为出现多次的字母编写的额外逻辑。

我们只需要检查字典单词中的每个字母是否小于或等于它在打乱单词中出现的次数,然后我们就可以确认字典单词的每个字母是否确实存在在打乱的信件中。

让我们看看代码的实际效果:

Solving Word Cookies Puzzles: A Python Adventure

万岁!现在,当我陷入困境时,我有办法继续前进。它不仅仅是总是欺骗系统,这没有什么乐趣,但是当我真正需要它时,这个解算器就会派上用场。我还可以获得尽可能多的额外单词,这样我就可以填满那个罐子并获得一些很棒的资源。

就是这样。 python 是一种多功能语言,可以自动化快速完成任务。您可以简单地在日常活动中使用它,例如这样的,或者复杂的工作任务,甚至更高级的工作,例如机器学习。找到一个今天要处理的 python 项目。干杯。

嘿,我的名字是 ifedolapo,我是一名前端开发人员和 python 程序员(顺便说一下,我也进行设计)。您可以通过 portfolio 网站了解更多关于我

感谢您浏览这篇文章。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

42

2025.12.13

word背景色怎么改成白色
word背景色怎么改成白色

Word是微软公司的一个文字处理器软件。word为用户提供了专业而优雅的文档工具,帮助用户节省时间并得到优雅美观的结果。word提供了许多易于使用的文档创建工具,同时也提供了丰富的功能供创建复杂的文档使用。怎么word背景色怎么该呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3720

2023.07.21

word最后一页空白页怎么删除
word最后一页空白页怎么删除

word最后一页空白页删除方法有:通过删除回车符、调整页边距、删除分节符或调整分页符位置,您可以轻松去除最后一页的空白页。根据您实际的文档情况,选择适合您的方法进行操作,使您的文档更加美观和整洁。本专题为大家提供word最后一页空白页怎么删除不了相关的各种文章、以及下载和课程。

325

2023.07.24

word最后一页空白页怎么删除不了
word最后一页空白页怎么删除不了

word删除最后一页空白页,可以尝试使用Backspace键删除空白页,如果无效,查找和删除分页符,或者调整页面边距和行距。还可以尝试将文档保存为其他格式并重新打开和保存。本专题为大家提供word最后一页空白页为啥删除不了的相关的文章、下载、课程内容,供大家免费下载体验。

373

2023.07.25

word单页改变纸张方向
word单页改变纸张方向

word单页改变纸张方向:1、在界面上选择文档纸张方向;2、自定义页面设置;3、分节功能。本专题为大家提供word单页改变纸张方向的相关的文章、下载、课程内容,供大家免费下载体验。

619

2023.07.27

word转ppt
word转ppt

Word是一款常用的文字处理软件,而PowerPoint则是一款专门用于制作演示文稿的软件。在某些情况下,我们可能需要将Word文档转换为PowerPoint演示文稿,以便更好地展示我们的内容。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

378

2023.08.03

word页码从第三页开始为1教程
word页码从第三页开始为1教程

如何将word页码从第三页开始为1,本专题为大家提供相关的文章,希望可以帮助大家解决问题。

2188

2023.08.04

多个word合并成一个word教程
多个word合并成一个word教程

在工作中将多个word合并成一个word是一个很常见的操作,本专题为大家提供相关问题的解决文章,大家可以免费阅读。

1754

2023.08.04

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

54

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 3.7万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号