🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
ProgerLib Python pour tous
Vous travaillez dans une entreprise qui produit des gadgets futuristes. Votre nouveau produit — le Bio-tracker « Vita Puls », qui mesure chaque jour « l'indicateur de l'énergie vitale » de l'utilisateur. À la fin de la semaine, l'appareil génère le rapport final sous la forme d'une seule ligne. Votre tâche — Écrire un programme qui analyse ce rapport.
rn Le programme doit extraire de la ligne le nom de l'utilisateur et ses indicateurs de la semaine. Ensuite, en utilisant la boucle While , il doit calculer la valeur moyenne uniquement des indicateurs positifs . Un indicateur positif signifie une bonne journée, pleine d'énergie. Les indicateurs négatifs (stress, fatigue) et zéro (journée neutre) ne doivent pas être pris en compte lors du calcul de la moyenne.
Vous devez traiter la ligne d'entrée, convertir les données numériques du type chaîne (pour cela, vous pouvez utiliser la boucle for ), puis, en utilisant la boucle While , trouver la somme et le nombre d'indicateurs positifs pour calculer la moyenne.
ligne (chaîne de caractères), qui a toujours la forme suivante : & nbsp; "nom : [nom d'utilisateur] ; indicateurs : [nombres séparés par un espace]" . Par exemple, & nbsp; Nom : Alexey ; Indicateurs : 10 -5 22 0 -12 18 7 .
La ligne (chaîne) contenant le nom d'utilisateur et la valeur moyenne de ses indicateurs positifs. S'il n'y a eu aucune raison positive pendant une semaine, vous devez afficher un message spécial.
Nom : Elena ; Indicateurs : 15 -4 25 0 10 -8 5
Elena, l'indicateur moyen de votre énergie vitale pour la semaine : 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}, на этой неделе не было дней с положительными показателями.")
🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
AD
Publicité
Exécution de votre code...