Trình tạo từ Python từ các chữ cái
I'm essentially working on a project where a user inputs a word from a list of terms, and the computer randomly jumbles it. There is only one issue: I don't want to always have to add numerous words to the list. As a result, I'm wondering if there is a method to import numerous random words, so that even I wouldn't know what they were and I could still enjoy the game. This is how the entire programme is coded, and I only used 6 words: import random WORDS = ("python", "jumble", "easy", "difficult", "answer", "xylophone") word = random.choice(WORDS) correct = word jumble = "" while word: position = random.randrange(len(word)) jumble += word[position] word = word[:position] + word[(position + 1):] print( """ Welcome to WORD JUMBLE!!! Unscramble the leters to make a word. (press the enter key at prompt to quit) """ ) print("The jumble is:", jumble) guess = input("Your guess: ") while guess != correct and guess != "": print("Sorry, that's not it") guess = input("Your guess: ") if guess == correct: print("That's it, you guessed it!\n") print("Thanks for playing") input("\n\nPress the enter key to exit") Nếu ai đó có thể giúp đỡ sẽ thực sự đánh giá cao sự giúp đỡ Show Tôi đã tìm thấy một câu hỏi trong trò chơi Trình tạo từ ngẫu nhiên trên trang hỏi đáp StackOverflow. Câu hỏi chứa một phiên bản nhỏ có thể chạy được của mã trò chơi Câu hỏi của tác giả là. nơi để tìm danh sách từ tiếng Anh lớn trên internet? Việc có được danh sách lớn các từ này sẽ bổ sung giá trị chơi lại trò chơi tốt cho trò chơi và có khả năng khiến nó trở nên hấp dẫn hơn rất nhiều đối với người dùng cuối Tôi nghĩ rằng những câu hỏi mã nhỏ và dễ đọc của nó chứa nhiều điều thú vị mà tôi có thể mở rộng. Tôi có thể sử dụng nó để tìm hiểu mức độ ngẫu nhiên của ngôn ngữ python để người dùng tương tác với. Tôi cũng có thể sử dụng nó để mở rộng các tính năng khác của trò chơi xung quanh danh sách từ để làm cho nó mạnh mẽ hơn. Câu hỏi StackOverflow có tên Trình tạo từ ngẫu nhiên- Python Trò chơi chữ ví dụ tạo động lựcĐây là mã có thể chạy được của trò chơi import random WORDS = ("python", "jumble", "easy", "difficult", "answer", "xylophone") word = random.choice(WORDS) correct = word jumble = "" while word: position = random.randrange(len(word)) jumble += word[position] word = word[:position] + word[(position + 1):] print( """ Welcome to WORD JUMBLE!!! Unscramble the leters to make a word. (press the enter key at prompt to quit) """ ) print("The jumble is:", jumble) guess = input("Your guess: ") while guess != correct and guess != "": print("Sorry, that's not it") guess = input("Your guess: ") if guess == correct: print("That's it, you guessed it!\n") print("Thanks for playing") input("\n\nPress the enter key to exit") Bạn có thể chơi tương tác tại đây Trò chơi chọn ngẫu nhiên một từ trong danh sách. Sau đó, nó xáo trộn hoặc xáo trộn từ bằng cách thay đổi thứ tự các chữ cái trong đó. Mã thực hiện điều này bằng cách chọn ngẫu nhiên một số bằng 0 với độ dài của từ -1. Điều này sau đó được sử dụng như một chỉ số. Từ đó là Người dùng trò chơi có nhiệm vụ tìm ra từ chính xác là gì khi các chữ cái được sắp xếp lại. Sau đó, người dùng sắp xếp lại các chữ cái để tạo thành một từ. Người dùng nhập dự đoán này bằng cách sử dụng bàn phím và nhấn enter. Nếu người dùng sắp xếp lại từ không chính xác thì họ được yêu cầu tiếp tục đoán từ đúng. Khi người dùng đoán đúng câu trả lời là python thì chương trình sẽ in import random WORDS = ("python", "jumble", "easy", "difficult", "answer", "xylophone") word = random.choice(WORDS) correct = word jumble = "" while word: position = random.randrange(len(word)) jumble += word[position] word = word[:position] + word[(position + 1):] print( """ Welcome to WORD JUMBLE!!! Unscramble the leters to make a word. (press the enter key at prompt to quit) """ ) print("The jumble is:", jumble) guess = input("Your guess: ") while guess != correct and guess != "": print("Sorry, that's not it") guess = input("Your guess: ") if guess == correct: print("That's it, you guessed it!\n") print("Thanks for playing") input("\n\nPress the enter key to exit")0 để thoát khỏi trò chơi Trong dòng mã thứ hai, tác giả của câu hỏi chỉ cần kéo một vài từ được mã hóa cứng vào câu trả lời. Tôi đã tìm thấy một số danh sách từ, tối ưu hóa việc ngẫu nhiên hóa và truy xuất danh sách từ. Tôi cũng đã làm sạch danh sách từ để tìm bất kỳ sự mâu thuẫn nào về loại hoặc định dạng. Cách lấy danh sách từCâu hỏi StackOverflow về nơi tìm danh sách từ có nhiều câu trả lời. Câu trả lời được tác giả đánh dấu là câu trả lời, chứa danh sách 1000 từ trong danh sách từ được gọi là danh sách từ – MIT. Tác giả của câu trả lời đã chỉ ra cách đọc danh sách từ bằng cách yêu cầu web hoặc đọc từ ổ cứng. Tác giả đã không tích hợp điều này với mã mà câu hỏi StackOverflow. Vì điều này không được thực hiện, tôi đã quyết định triển khai chức năng yêu cầu web lấy tài nguyên danh sách từ và đọc chúng và chức năng tệp IO. Một số danh sách từ có trong các tệp văn bản thuần túy và các danh sách khác là từ các tệp chứa loại byte Có một bộ sưu tập các danh sách từ ở đây
Tôi đã thấy một vài danh sách từ khác mà tôi đã chọn không sử dụng vì chúng yêu cầu tìm kiếm từ web, là độc quyền hoặc có vẻ không toàn diện. Dường như có những danh sách từ hay khác trên Kaggle Thêm giá trị cho trò chơiMột trong những phần thú vị nhất khi trải qua bài tập mã hóa này là thêm các tính năng bổ sung vào trò chơi. Tôi đã thêm mã truy xuất danh sách từ. Tôi cũng đã thêm một tính năng thực thi một mức độ ngẫu nhiên nhất định mà tôi xác định là cần thiết để khiến từ trở nên khó hiểu. Tôi cũng đã thêm giá trị cho trò chơi bằng cách
#GAME SETTINGS MINIMUM_WORD_LENGTH = 5 MAXIMUM_WORD_LENGTH = 7 WORDS_FROM_FILE = False WORD_LIST_TO_USE = "THIRD_GRADE_WORDS"
def format_words(words): if len(words) > 1: words_pattern = '[a-z]+' if type(words[0]) is bytes: words = [re.findall(words_pattern, word.decode('utf-8'), flags=re.IGNORECASE)[0] for word in words] else: words = [re.findall(words_pattern, word, flags=re.IGNORECASE)[0] for word in words] words = [word for word in words if len(word) >= MINIMUM_WORD_LENGTH and len(word) <= MAXIMUM_WORD_LENGTH] return words
if WORDS_FROM_FILE: words = get_words_from_file(WORD_LIST_FILE[WORD_LIST_TO_USE]) else: words = get_word_list_from_web(WORD_LIST_WEB[WORD_LIST_TO_USE]) words = format_words(words)
def generate_unique_shuffled_word(word): while True: shuffled_word = shuffle_word(word) simliar_percent = SequenceMatcher(None, shuffled_word, word).ratio() if MINIMUM_WORD_LENGTH >= 5 and simliar_percent <= 0.5: break return shuffled_word Mã đầy đủ________số 8Phiên bản mã ở đây trên GitHub Phần kết luậnTôi đã học về Python, các danh sách từ khác nhau và triển khai tính ngẫu nhiên cho người dùng. Quan trọng nhất, tôi đã rất vui khi mã hóa nó Tôi hy vọng bạn cũng vui vẻ khi đọc và tìm hiểu về nó, và bạn cũng đã học được điều gì đó từ đoạn mã đơn giản này Làm cách nào để tạo các từ ngẫu nhiên từ danh sách các chữ cái trong python?Cách tạo chuỗi ngẫu nhiên trong Python . Nhập chuỗi và mô-đun ngẫu nhiên. . Sử dụng hằng chuỗi ascii_lowercase. . Quyết định độ dài của một chuỗi. . Sử dụng hàm for loop và random choice() để chọn ký tự từ nguồn. . Tạo mật khẩu ngẫu nhiên Có cách nào để tạo các từ ngẫu nhiên trong python không?Để tạo một từ ngẫu nhiên từ hệ thống tệp. . Mở tệp ở chế độ đọc sử dụng str. splitlines() hoặc str. split() để chia nội dung của tệp thành một danh sách Sử dụng ngẫu nhiên. lựa chọn () để chọn bao nhiêu từ ngẫu nhiên từ danh sách nếu cần |