🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Вы работаете в компании, которая производит футуристические гаджеты. Ваш новый продукт — био-трекер "Вита-Пульс", который каждый день измеряет "показатель жизненной энергии" пользователя. В конце недели устройство генерирует итоговый отчет в виде одной строки. Ваша задача — написать программу, которая анализирует этот отчет.
Программа должна извлекать из строки имя пользователя и его показатели за неделю. Затем, используя цикл while, она должна вычислить среднее значение только положительных показателей. Положительный показатель означает хороший, энергичный день. Отрицательные показатели (стресс, усталость) и нулевые (нейтральный день) не должны учитываться при расчете среднего.
Вам нужно обработать входную строку, преобразовать числовые данные из строкового типа в числовой (для этого можно использовать цикл for), а затем с помощью цикла while найти сумму и количество положительных показателей для вычисления среднего.
Строка (string), которая всегда имеет следующий вид: "Имя: [имя пользователя]; Показатели: [числа через пробел]". Например, Имя: Алексей; Показатели: 10 -5 22 0 -12 18 7.
Строка (string), содержащая имя пользователя и среднее значение его положительных показателей. Если положительных показателей за неделю не было, нужно вывести специальное сообщение.
Имя: Елена; Показатели: 15 -4 25 0 10 -8 5
Елена, средний показатель вашей жизненной энергии за неделю: 13.75
# Получаем на вход одну строку с данными от био-трекера
input_string = input()
# Разделяем строку на две части по символу ';'
# parts будет списком, например: ['Имя: Елена', ' Показатели: 15 -4 25 0 10 -8 5']
parts = input_string.split(';')
# Из первой части извлекаем имя
# Сначала разделяем 'Имя: Елена' по ':', получаем ['Имя', ' Елена']
# Берем второй элемент ' Елена' и убираем пробелы по краям с помощью strip()
user_name = parts[0].split(':')[1].strip()
# Из второй части извлекаем строку с показателями
# Аналогично получаем ' 15 -4 25 0 10 -8 5' и убираем пробелы
scores_string = parts[1].split(':')[1].strip()
# Разделяем строку с показателями по пробелу, чтобы получить список строк
# ['15', '-4', '25', '0', '10', '-8', '5']
str_numbers = scores_string.split()
# Создаем пустой список для хранения чисел
numbers = []
# Используем цикл for для преобразования каждой строки в списке в целое число
for s_num in str_numbers:
numbers.append(int(s_num))
# Инициализируем переменные для цикла while
sum_of_positives = 0 # Сумма положительных чисел
count_of_positives = 0 # Количество положительных чисел
index = 0 # Индекс для перебора списка
list_length = len(numbers) # Длина списка, чтобы знать, когда остановиться
# Основной цикл while для подсчета среднего значения
while index < list_length:
# Получаем текущее число из списка по индексу
current_number = numbers[index]
# Проверяем, является ли число строго положительным
if current_number > 0:
# Если да, добавляем его к сумме
sum_of_positives += current_number
# и увеличиваем счетчик положительных чисел
count_of_positives += 1
# Переходим к следующему элементу списка
index += 1
# После цикла проверяем, были ли найдены положительные числа
if count_of_positives > 0:
# Если да, вычисляем среднее значение
average = sum_of_positives / count_of_positives
# Выводим результат в заданном формате
print(f"{user_name}, средний показатель вашей жизненной энергии за неделю: {average}")
else:
# Если положительных чисел не было, выводим другое сообщение
print(f"{user_name}, на этой неделе не было дней с положительными показателями.")
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...