


Menyelesaikan 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.
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:
- Dapatkan kamus perkataan untuk menyemak huruf yang dikocak.
- Buat csv yang mengandungi perkataan n-huruf sahaja, dalam kes ini saya mencipta csv yang mengandungi 3-huruf-perkataan kepada 7-huruf-perkataan
- Semak untuk melihat sama ada perkataan daripada csv mempunyai semua hurufnya terkandung dalam huruf hancur
- Simpannya ke senarai bilangan perkataannya sendiri, cth, jika perkataan itu 'umur', maka ia akan disimpan ke senarai perkataan 3 huruf, dan seterusnya.
- 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:
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:
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:
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python lebih baik daripada C dalam kecekapan pembangunan, tetapi C lebih tinggi dalam prestasi pelaksanaan. 1. Sintaks ringkas Python dan perpustakaan yang kaya meningkatkan kecekapan pembangunan. 2. Ciri-ciri jenis kompilasi dan kawalan perkakasan meningkatkan prestasi pelaksanaan. Apabila membuat pilihan, anda perlu menimbang kelajuan pembangunan dan kecekapan pelaksanaan berdasarkan keperluan projek.

Pythonlistsarepartofthestandardlibrary, sementara

Adakah cukup untuk belajar Python selama dua jam sehari? Ia bergantung pada matlamat dan kaedah pembelajaran anda. 1) Membangunkan pelan pembelajaran yang jelas, 2) Pilih sumber dan kaedah pembelajaran yang sesuai, 3) mengamalkan dan mengkaji semula dan menyatukan amalan tangan dan mengkaji semula dan menyatukan, dan anda secara beransur-ansur boleh menguasai pengetahuan asas dan fungsi lanjutan Python dalam tempoh ini.

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.
