게임을 하는 것은 하루의 스트레스로부터 뇌를 이완시키는 방법일 수도 있고, 업무를 잠시 쉬는 방법이기도 합니다. 그러나 때로 게임 자체가 스트레스가 될 수 있으므로, 스크램블된 글자 세트를 받고 그 안에 포함된 단어를 풀어야 하는 재미있는 퍼즐 게임인 '워드 쿠키'의 경우도 마찬가지라고 생각합니다.
게임을 진행하면서 도움을 줄 수 있는 리소스가 거의 또는 전혀 없어서 해결하기가 점점 어려워지고 여러 번 막혔습니다. 그런데 잠깐만요. 저는 Python으로 코딩하는데 왜 방법을 찾을 수 없나요? Python 언어가 빛을 발하는 곳이 바로 여기입니다.
이제 Python을 사용하여 뒤죽박죽된 문제를 해결하는 방법은 무엇입니까? 뒤섞인 글자의 단어를 확인하는 방법이 필요했고 구현을 간단한 단계로 나누었습니다.
계획:
- 단어사전을 구해서 뒤섞인 글자를 확인해 보세요.
- n자 단어만 포함하는 csv를 생성합니다. 이 경우 3자 단어부터 7자 단어까지 포함하는 csv를 생성했습니다
- CSV의 단어에 뒤섞인 문자에 모든 문자가 포함되어 있는지 확인하세요
- 자체 수의 단어 목록에 저장합니다. 예를 들어 단어가 'age'인 경우 3글자 단어 목록에 저장됩니다.
- 결과 표시
일하러 가자:
우선 온라인에서 검색한 결과 csv 형식으로 다운로드할 수 있는 사전을 찾았고 이를 각 문자가 포함된 별도의 CSV 파일로 나눌 수 있었습니다. 그 모습은 다음과 같습니다.
다음으로, A~Z까지의 CSV를 확인하고 3글자 단어를 골라내고, 공백이 있는 단어와 기타 사용할 수 없는 형식을 생략하는 Python 코드를 받았습니다. 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.")
지정한 출력 폴더의 결과는 다음과 같습니다.
이제 이 출력 폴더를 사용하여 그 안에 있는 단어가 뒤섞인 문자에 포함되어 있는지 확인하면 됩니다. 이를 수행하는 코드는 다음과 같습니다.
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' 함수의 단순성에 있습니다. 개별 문자가 뒤섞인 단어에 포함되어 있는지 확인할 필요가 없습니다. 두 번 이상 나타나는 문자에 대해 추가 논리가 작성되기 때문입니다.
사전 단어의 각 문자가 뒤섞인 단어의 횟수보다 작거나 같은지 확인하기만 하면 되고, 사전 단어의 각 문자가 실제로 존재하는지 확인할 수 있습니다. 뒤섞인 편지 속에.
실제 코드를 살펴보겠습니다.
만세! 이제 막혔을 때 앞으로 나아갈 수 있는 방법이 생겼습니다. 항상 시스템을 속이는 것뿐만 아니라 재미도 없지만 정말 필요할 때 이 솔버는 유용합니다. 또한 가능한 한 많은 추가 단어를 얻을 수 있으므로 그 병을 채우고 멋진 리소스를 얻을 수 있습니다.
그리고 거기에 있습니다. Python은 빠른 작업을 자동화하는 다재다능한 언어입니다. 이와 같은 일상적인 활동에서 간단히 사용할 수도 있고, 복잡한 작업과 기계 학습과 같은 훨씬 더 고급 작업에도 사용할 수 있습니다. 오늘 작업할 Python 프로젝트를 찾아보세요. 건배.
안녕하세요. Ifedolapo라고 하면 저는 프론트엔드 개발자이자 Python 프로그래머입니다(저는 디자인도 합니다). 저에 대한 더 많은 정보는 포트폴리오 홈페이지에서 만나보실 수 있습니다
이 게시물을 읽어주셔서 감사합니다.
위 내용은 단어 쿠키 퍼즐 풀기: 파이썬 모험의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Tomergelistsinpython, youcanusethe operator, extendmethod, listcomprehension, oritertools.chain, 각각은 각각의 지위를 불러 일으킨다

Python 3에서는 다양한 방법을 통해 두 개의 목록을 연결할 수 있습니다. 1) 작은 목록에 적합하지만 큰 목록에는 비효율적입니다. 2) 메모리 효율이 높지만 원래 목록을 수정하는 큰 목록에 적합한 확장 방법을 사용합니다. 3) 원래 목록을 수정하지 않고 여러 목록을 병합하는 데 적합한 * 운영자 사용; 4) 메모리 효율이 높은 대형 데이터 세트에 적합한 itertools.chain을 사용하십시오.

join () 메소드를 사용하는 것은 Python의 목록에서 문자열을 연결하는 가장 효율적인 방법입니다. 1) join () 메소드를 사용하여 효율적이고 읽기 쉽습니다. 2)주기는 큰 목록에 비효율적으로 운영자를 사용합니다. 3) List Comprehension과 Join ()의 조합은 변환이 필요한 시나리오에 적합합니다. 4) READE () 방법은 다른 유형의 감소에 적합하지만 문자열 연결에 비효율적입니다. 완전한 문장은 끝납니다.

pythonexecutionissprocessoftransformingpythoncodeintoExecutableInstructions.1) the -interreadsTheCode, ConvertingItintoByTecode, thethepythonVirtualMachine (pvm)을 실행합니다

Python의 주요 특징은 다음과 같습니다. 1. 구문은 간결하고 이해하기 쉽고 초보자에게 적합합니다. 2. 개발 속도 향상, 동적 유형 시스템; 3. 여러 작업을 지원하는 풍부한 표준 라이브러리; 4. 광범위한 지원을 제공하는 강력한 지역 사회와 생태계; 5. 스크립팅 및 빠른 프로토 타이핑에 적합한 해석; 6. 다양한 프로그래밍 스타일에 적합한 다중-파라 디그 지원.

Python은 해석 된 언어이지만 편집 프로세스도 포함됩니다. 1) 파이썬 코드는 먼저 바이트 코드로 컴파일됩니다. 2) 바이트 코드는 Python Virtual Machine에 의해 해석되고 실행됩니다. 3)이 하이브리드 메커니즘은 파이썬이 유연하고 효율적이지만 완전히 편집 된 언어만큼 빠르지는 않습니다.

USEAFORLOOPHENTERATINGOVERASERASERASPECIFICNUMBEROFTIMES; USEAWHILLOOPWHENTINUTIMONDITINISMET.FORLOOPSAREIDEALFORKNOWNSEDINGENCENCENS, WHILEWHILELOOPSSUITSITUATIONS WITHERMINGEDERITERATIONS.

Pythonloopscanleadtoerrors likeinfiniteloops, modifyinglistsdizeration, off-by-by-byerrors, zero-indexingissues, andnestedloopineficiencies.toavoidthese : 1) aing'i


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.