Как сделать программу, используя функцию. Вводишь строку из несколько слов с пробелами. Находишь все слова и выводишь все слова отдельными строчками. Что я делаю не так?
str1 = str(input())
i = 0
k = 0
list = []
def space(str1):
return(str1)
while k <= len(str1):
if str1(i) != " ":
list.append(str(i))
return(list)
i += 1
k += 1
mini_list = space(str1)
print(mini_list)
Ответ
Находишь все слова
Зря вы перебираете строку посимвольно в поисках пробелов.
Во-первых, бывают и другие пробельные символы, например, неразрывный пробел или табуляция. Они тоже разделяют строку на слова.
Во-вторых, для деления строки на слова в Python 3 есть метод str.split(). Он разбивает строку по заданному разделителю, а если не указывать разделитель (т.е. по умолчанию) — по пробельным символам (конкретно: space, tab, newline, return, formfeed). Возвращает список строк, на которые поделил исходную.
Вот так:
words = input().split()
Заметьте, что str(input()) не нужно, input() и так возвращает строку.
Чтобы вывести каждое слово, достаточно перебрать список и каждое напечатать.
for word in words:
print(word)
Оба действия можно объединить для лаконичности:
for word in input().split():
print(word)
Комментариев нет:
Отправить комментарий