cari
Rumahpembangunan bahagian belakangTutorial PythonMenyelesaikan Teka-teki Kuki Perkataan: Pengembaraan Python

Bermain permainan ialah cara untuk merehatkan otak daripada tekanan hari itu, atau mungkin sekadar berehat dari kerja. Walau bagaimanapun, kadangkala, permainan boleh menjadi tekanan sendiri, jadi saya fikir adalah kes 'Word Cookies', permainan teka-teki yang menyeronokkan di mana anda diberi satu set huruf yang dikocok dan ditugaskan untuk menyelesaikan perkataan yang terkandung di dalamnya.

Solving Word Cookies Puzzles: A Python Adventure

Semasa saya maju dalam permainan, ia terus menjadi sukar untuk diselesaikan dengan sedikit atau tiada sumber untuk membantu, saya tersekat beberapa kali. Tetapi tunggu sebentar, saya kod dalam Python, jadi mengapa saya tidak dapat mencari jalan keluar? Di sinilah bahasa Python menjadi terkenal.

Sekarang bagaimana saya menggunakan Python untuk menyelesaikan masalah yang lebih baik. Saya memerlukan cara untuk menyemak perkataan dalam huruf yang dikocak dan saya memecahkan pelaksanaannya kepada langkah-langkah mudah.

Pelan:

  1. Dapatkan kamus perkataan untuk menyemak huruf yang dikocak.
  2. Buat csv yang mengandungi perkataan n-huruf sahaja, dalam kes ini saya mencipta csv yang mengandungi 3-huruf-perkataan kepada 7-huruf-perkataan
  3. Semak untuk melihat sama ada perkataan daripada csv mempunyai semua hurufnya terkandung dalam huruf hancur
  4. Simpannya ke senarai bilangan perkataannya sendiri, cth, jika perkataan itu 'umur', maka ia akan disimpan ke senarai perkataan 3 huruf, dan seterusnya.
  5. Paparkan hasilnya

Mari mula bekerja:

Pertama sekali saya mencari dalam talian dan menemui kamus yang boleh saya muat turun dalam format csv dan membahagikannya kepada fail CSV berasingan yang mengandungi setiap huruf. Begini rupanya:

Solving Word Cookies Puzzles: A Python Adventure

Seterusnya, saya mendapat kod python untuk menyemak CSV dari A-Z dan memilih perkataan 3 huruf dan meninggalkan perkataan dengan ruang dan format lain yang tidak boleh digunakan. Ini dilakukan pada masa yang sama kepada perkataan 4, 5, 6 dan 7 huruf.

Begini rupanya:

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.")


Berikut ialah hasil dalam folder output yang saya nyatakan:

Solving Word Cookies Puzzles: A Python Adventure

Sekarang dengan folder output ini, saya hanya perlu menyemak perkataan di dalamnya untuk melihat sama ada ia terkandung dalam huruf yang dikocak. Berikut ialah kod yang melakukannya:

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)

Pecahan Pantas:

Kami mengambil folder output daripada kod sebelumnya dan menggunakannya sebagai folder input dalam kod penyelesaian sebenar di atas. Keindahan penyelesaian ini adalah dalam kesederhanaan fungsi 'is_word_in_string'. Kami tidak perlu menyemak adalah huruf individu terkandung dalam perkataan yang dikacau, kerana ia akan menjadi logik tambahan untuk huruf yang muncul lebih daripada sekali.

Kami hanya perlu menyemak sama ada untuk setiap huruf dalam perkataan kamus, ia kelihatan kurang daripada atau sama dengan jumlah kali ia muncul dalam perkataan yang dikacau, dan ledakan, kami boleh mengesahkan sama ada setiap huruf perkataan kamus itu benar-benar wujud dalam surat yang dikoyak.

Mari lihat kod dalam tindakan:

Solving Word Cookies Puzzles: A Python Adventure

Hore! Dan sekarang saya mempunyai cara untuk bergerak ke hadapan apabila saya tersekat. Ia bukan sahaja tentang menipu sistem sentiasa, tidak ada keseronokan dalam hal itu, tetapi apabila saya benar-benar memerlukannya, penyelesai ini berguna. Saya juga boleh mendapatkan sebanyak mungkin perkataan tambahan supaya saya boleh mengisi balang itu dan mendapatkan beberapa sumber yang hebat.

Dan begitulah. Python ialah bahasa serba boleh untuk mengautomasikan bahan pantas. Anda boleh menggunakannya secara ringkas dalam aktiviti harian anda seperti ini, atau untuk tugas kerja yang kompleks dan kerja yang jauh lebih maju seperti Pembelajaran Mesin. Cari projek ular sawa untuk diusahakan hari ini. Tahniah.

Hai nama saya jika Ifedolapo, saya seorang pembangun bahagian hadapan dan pengaturcara python (saya juga mereka bentuk). Anda boleh mengetahui lebih lanjut tentang saya dari laman web Portfolio

Terima kasih kerana membaca siaran ini.

Atas ialah kandungan terperinci Menyelesaikan Teka-teki Kuki Perkataan: Pengembaraan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimana anda menambah elemen ke senarai python?Bagaimana anda menambah elemen ke senarai python?May 04, 2025 am 12:17 AM

ToAppendElementStoapyThonList, useTheAppend () methodforsingleelements, extend () formultipleelements, andInsert () forspecificposition.1) useAppend () foraddingOneElementAttheend.2)

Bagaimana anda membuat senarai python? Beri contoh.Bagaimana anda membuat senarai python? Beri contoh.May 04, 2025 am 12:16 AM

TOCREATEAPYTHONLIST, USESQUAREBRACKETS [] danSeparatateItemSwithCommas.1) listsaredynamicandCanHoldMixedDatypes.2) UseAppend (), mengalih keluar (), danSlicingFormApulation.3)

Bincangkan kes penggunaan dunia sebenar di mana penyimpanan dan pemprosesan data berangka yang cekap adalah kritikal.Bincangkan kes penggunaan dunia sebenar di mana penyimpanan dan pemprosesan data berangka yang cekap adalah kritikal.May 04, 2025 am 12:11 AM

Dalam bidang kewangan, penyelidikan saintifik, penjagaan perubatan dan AI, adalah penting untuk menyimpan dan memproses data berangka dengan cekap. 1) Dalam Kewangan, menggunakan memori yang dipetakan fail dan perpustakaan Numpy dapat meningkatkan kelajuan pemprosesan data dengan ketara. 2) Dalam bidang penyelidikan saintifik, fail HDF5 dioptimumkan untuk penyimpanan data dan pengambilan semula. 3) Dalam penjagaan perubatan, teknologi pengoptimuman pangkalan data seperti pengindeksan dan pembahagian meningkatkan prestasi pertanyaan data. 4) Dalam AI, data sharding dan diedarkan latihan mempercepatkan latihan model. Prestasi dan skalabiliti sistem dapat ditingkatkan dengan ketara dengan memilih alat dan teknologi yang tepat dan menimbang perdagangan antara kelajuan penyimpanan dan pemprosesan.

Bagaimana anda membuat array python? Beri contoh.Bagaimana anda membuat array python? Beri contoh.May 04, 2025 am 12:10 AM

Pythonarraysarecreatedusingthearraymodule, notbuilt-inlikelists.1) importTheArrayModule.2) specifythetypecode, cth., 'I'forintegers.3) Initializewithvalues.arraysofferbettermemoryficiencyficorhomogeneousdatabutflex.

Apakah beberapa alternatif untuk menggunakan garis shebang untuk menentukan penterjemah python?Apakah beberapa alternatif untuk menggunakan garis shebang untuk menentukan penterjemah python?May 04, 2025 am 12:07 AM

Sebagai tambahan kepada garis shebang, terdapat banyak cara untuk menentukan penterjemah python: 1. Gunakan perintah python terus dari baris arahan; 2. Gunakan fail batch atau skrip shell; 3. Gunakan alat binaan seperti membuat atau cmake; 4. Gunakan pelari tugas seperti Invoke. Setiap kaedah mempunyai kelebihan dan kekurangannya, dan penting untuk memilih kaedah yang sesuai dengan keperluan projek.

Bagaimanakah pilihan antara senarai dan tatasusunan memberi kesan kepada prestasi keseluruhan aplikasi Python yang berurusan dengan dataset yang besar?Bagaimanakah pilihan antara senarai dan tatasusunan memberi kesan kepada prestasi keseluruhan aplikasi Python yang berurusan dengan dataset yang besar?May 03, 2025 am 12:11 AM

Forhandlinglargedatasetsinpython, usenumpyarraysforbetterperformance.1) numpyarraysarememory-efisien danfasterfornumumerical.2) mengelakkan yang tidak dapat dipertahankan.3)

Jelaskan bagaimana memori diperuntukkan untuk senarai berbanding tatasusunan dalam Python.Jelaskan bagaimana memori diperuntukkan untuk senarai berbanding tatasusunan dalam Python.May 03, 2025 am 12:10 AM

Inpython, listsusedynamicMemoryAllocationwithover-peruntukan, pemecahan yang tidak dapat dilaksanakan.1) listsallocatemoremoremorythanneedinitial, resizingwhennessary.2) numpyarraysallocateExactMemoreForelements, menawarkanpredictableSabeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeBeat.

Bagaimana anda menentukan jenis data elemen dalam array python?Bagaimana anda menentukan jenis data elemen dalam array python?May 03, 2025 am 12:06 AM

Inpython, YouCansspectHedatypeyFeleMeremodelerernspant.1) Usenpynernrump.1) usenpynerp.dloatp.ploatm64, formor preciscontrolatatypes.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini