簡體   English   中英

根據用戶的回答列出清單

[英]making a list from the users answer

我正在做一個項目,我必須根據用戶輸入生成一個謎題。 我會詢問用戶他們想要在拼圖中包含多少單詞,並且還會詢問該單詞。 但是,拼圖必須使用 4-9 個單詞,並且每個單詞必須至少有 9 個字母長。 我已經寫了一些代碼來開始,因為我是分段做的(我是 python 新手),但是我的代碼並沒有停止向用戶詢問更多的單詞,它只是一直在詢問。 如果用戶說他們只想要 4 個單詞,並且一旦輸入 4 個單詞,它應該會停在那里,但我的代碼仍然不斷要求更多單詞。 任何指導表示贊賞。 我有 2 個 python 文件。 在我的 main:py 中,一個名為“main.py”,另一個名為“puzzler.py”,我有以下代碼:

import puzzler
changeable_grid = list()

ways = 0
word_list = []

# TODO:
# 1A. ask user to input how many words they wanna work with
def ask_num_words() -> int:
    global num_of_words
    while True:
        try:
            num_of_words = int(input('How many words would you want to work with: '))
        except ValueError as e:
            print(e)
        if puzzler.MIN_WORD <= num_of_words <= puzzler.MAX_WORD:
            break
        else:
            print('Sorry words can only be between {} and {}'.format(puzzler.MIN_WORD, puzzler.MAX_WORD))
            print('')
            continue
    return num_of_words

# 1B. ask user to input the words for the puzzle
    def ask_for_words(amt_of_words: int) -> list:
        global word
        while True:
            try:
                for i in range(amt_of_words):
                    word = input('Please enter the word: ')
                    word_length = len(word)
                    if puzzler.MIN_WORD_LENGTH >= word_length or word_length >= puzzler.MAX_WORD_LENGTH:
                        print('The word must be be between {} and {} in length'.format(puzzler.MIN_WORD_LENGTH,
                                                                                       puzzler.MAX_WORD_LENGTH))
                        print('')
                        word = input('Re-enter the word again:')
                        word_length = len(word)
                word_list.append(word)
            except ValueError as e:
                print(e)
        print(word_list)
        return word_list

if __name__ == "__main__":
    amt_of_words = ask_num_words()
    ask_for_words(amt_of_words

)

到目前為止,在我的uzzler.py 文件中,我只有以下代碼:

MAX_WORD = 9
MIN_WORD = 4
MAX_WORD_LENGTH = 9
MIN_WORD_LENGTH = 1

當您希望某事永遠發生時,您使用“while True:”。我認為您應該從 ask_for_words 中取出它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM