如何解决列出用户的答案
我正在做一个项目,我必须根据用户输入生成一个谜题。我会问用户他们想要在拼图中包含多少个单词,并且还会询问这个单词。但是,拼图必须使用 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
)
到目前为止,在我的puzzer.py 文件中,我只有以下代码:
MAX_WORD = 9
MIN_WORD = 4
MAX_WORD_LENGTH = 9
MIN_WORD_LENGTH = 1
解决方法
当您希望某事永远发生时,您可以使用“while True:”。我认为您应该将其从 ask_for_words 中删除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。