🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
ProgerLib Python para todos
Você trabalha em uma empresa que produz gadgets futuristas. Seu novo produto & mdash; Bio-tracker "Vita Puls", que mede diariamente o "indicador de energia vital" do usuário. No final da semana, o dispositivo gera o relatório final na forma de uma única linha. Sua tarefa & mdash; Escrever um programa que analise este relatório.
rn O programa deve extrair da linha o nome do usuário e seus indicadores durante a semana. Em seguida, usando & nbsp; o & nbsp; while , deve calcular o valor médio apenas dos & nbsp; indicadores positivos & nbsp;. Um indicador positivo significa um dia bom e energético. Indicadores negativos (estresse, fadiga) e zero (dia neutro) não devem ser considerados no cálculo da média.
Você precisa processar a linha de entrada, converter os dados numéricos do tipo string (para isso você pode usar o laço & nbsp; for ), e então usando o laço & nbsp; while encontrar a soma e a quantidade de indicadores positivos para calcular a média.
linha (string), que sempre tem a seguinte aparência: & nbsp; "nome: [nome do usuário]; indicadores: número separado por espaço]" . Por exemplo, & nbsp; Nome: Alexey; Indicadores: 10 -5 22 0 -12 18 7 .
A linha (string) contendo o nome do usuário e o valor médio de seus indicadores positivos. Se não houve motivos positivos durante uma semana, é necessário exibir uma mensagem especial.
Nome: Elena; Indicadores: 15 -4 25 0 10 -8 5
Elena, o indicador médio da sua energia vital para a semana: 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}, на этой неделе не было дней с положительными показателями.")
🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
AD
Publicidade
Executando seu código...