Python 如何将用户输入限制为预先指定的字数?

Python 如何将用户输入限制为预先指定的字数?,python,Python,我的程序首先要求用户指定希望输入的字数,然后将其作为输入。现在,我希望程序能够正常运行,如果用户尝试输入比以前指定的更多的单词,则会对其进行限制 以下是我的尝试: if __name__ == '__main__': num_words = int(input('How many words would you like to turn backwards? ')) words = [] for i in range(num_words): word

我的程序首先要求用户指定希望输入的字数,然后将其作为输入。现在,我希望程序能够正常运行,如果用户尝试输入比以前指定的更多的单词,则会对其进行限制

以下是我的尝试:

if __name__ == '__main__':
    num_words = int(input('How many words would you like to turn backwards?  ')) 
    words = []
    for i in range(num_words):
        word = input('please enter string:')
        if len(word.split()) >= 2:
            print('Please only enter one word', end ='')
        else:
            words.append(word)
    print(words)

您可以添加一个
while循环
,而不是
if
语句,这样您就不会在没有收到正确输入的情况下浪费迭代。例如:

for i in range(num_words):
    word = input('pease enter string:')
    while len(word.split()) >= 2:
        word = input('Please only enter one word')
    words.append(word)
print(words)
这就是你的意思吗:

if __name__ == '__main__':

    num_words = 2
    while num_words == 2:
        num_words = int(input('How many words would you like to turn backwords?  '))
        if num_words == 2:
            print('Please only enter one word')


    words = 2
    while words == 2:
        word = input('Enter your string: ')
        words = len(word.split())
        if words == 2:
            print('Please only enter one word')

    print(''.join(sorted(words,revers=True)))

end=''
print('请只输入一个单词',end='')中应该做什么?我很难理解你在问什么。也许,你可以用你现有的代码来解释这个问题?@Radroad你能编辑你的帖子并添加一些输入和预期的输出吗。。。