@RedFate
Новичок

Можете ли объяснить как работает?

Задание взято из Codewars. Я пыталась разобраться сама, но получается плохо.

Задание:
Given a non-negative integer, 3 for example, return a string with a murmur: "1 sheep...2 sheep...3 sheep...". Input will always be valid, i.e. no negative integers.

Решение взятое с интернета:
def count_sheep(n):
    sheep = ''
    for i in range(n):
        sheep+=f"{i+1} sheep..."
    return sheep


Что делается на второй и четвертой строке? Для чего оно нужно?
  • Вопрос задан
  • 841 просмотр
Решения вопроса 1
Aw1nger
@Aw1nger
Python Devoloper
Во второй строке переменной sheep присваивается значение '', то и есть переменная соответствует строке без символов.
В четвёртой строке к объявленной выше переменной начинают добавляться значения. Рассмотрим подробнее:
f"" — значок форматирования строки, который позволяет указывать тебе в {значение} которое должно быть на выходе.
Собственно это и происходит — с каждым проходом цикла к переменной добавляется строчка равная i+1 sheep... Почему i+1? Изначально i будет равна нулю, поэтому добавляем 1.

Общую суть я передал.
Изучай основы питона.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Если вы не знаете, что это:
sheep = ''
создание переменной, то до codewars вам еще рано - идите читать учебник.
По поводу 4-й строки уточните, что именно вам непонятно.
Ответ написан
SoreMix
@SoreMix Куратор тега Python
yellow
На второй строке создается строковая переменная, она нужна как некая база, потому что для оператора += это нужно.
В четвертой строке к этой переменной добавляется новая строка, которая отформатирована через f-строки, в ней лежит цифра и слово sheep, собственно. В итоге каждую итерацию цикла к переменной sheep добавляется новая строка X sheep....

Можно расписать как
sheep = sheep + f"{i+1} sheep..."
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
20 нояб. 2024, в 21:19
5000 руб./за проект
20 нояб. 2024, в 21:10
10000 руб./за проект
20 нояб. 2024, в 20:55
40000 руб./за проект