Я пытаюсь создать список с пользовательским вводом, который содержит по крайней мере восемь элементов в списке.Я могу составить список и ввести пользовательский ввод, но мне нужно проверить, что действительно есть восемь пунктов, и попросить больше, если их нет.Затем мне нужно распечатать список.
Я попытался использовать оператор while для len (list) <8 и оператор if / else для того же.Оба запрашивают дополнительный ввод, но ни один не печатает список в конце.Я попробовал вложенный цикл с while len (list) <8, и внутри был цикл if / else, но он возвращал те же ошибки, что и исходный оператор while. </p>
>>>def main():
... userinput= input("Enter a list of at least eight words separated by a comma: ")
... list= userinput.split(",")
... while len(list)<7:
... print("Please enter more words")
... more_input= input()
... more_input.split(",")
... list.append(more_input)
... print(list)
OR
>>> def main():
... userinput= input("Enter a list of at least eight words separated by a comma: ")
... list= userinput.split(",")
... if len(list)<7:
... print("Please enter more words")
... more_input= input()
... more_input.split(",")
... list.append(more_input)
... else:
... print(list)
Ошибки с циклом while: Он просто продолжает запрашивать дополнительный ввод, даже если в списке есть минимально требуемый ввод
>>> main()
Enter a list of at least eight words separated by a comma: This, is, a, list
Please enter more words
More, words
Please enter more words
Three, more, words
Please enter more words
Ошибки с циклом if / else: Проверяется только один раз.Если длина хорошая, распечатывается список.Если длина не хорошая, он запрашивает больше ввода и затем останавливается.Он не проверяет длину снова и не печатает список.