• 1
    Entrée et sortie
    • Tâches
  • 2
    Conditions
    • Tâches
  • 3
    Boucle for
    • Tâches
  • 4
    Chaînes
    • Tâches
  • 5
    Boucle while
    • Tâches
  • 6
    Listes
    • Tâches
  • 7
    Tableaux 2D
    • Tâches
  • 8
    Dictionnaires
    • Tâches
  • 9
    Ensembles
    • Tâches
  • 10
    Fonctions et récursion
    • Tâches
  • к

Leçon 2. Conditions

Difficulté :

Exercice«Tri automatique»

💻 Python

Vous — un jeune chercheur dans un laboratoire avancé. Chaque jour, vous menez des expériences et obtenez des ensembles de données numériques. Le protocole d'analyse nécessite une approche différente selon le résultat global d'une série de mesures.

Le directeur scientifique principal a établi une règle simple : si la somme de toutes les mesures par jour est   paire  , cela indique la stabilité du processus, et les données doivent être analysées dans l'ordre   croissant . Si la somme   est impaire , cela peut indiquer une anomalie, et pour identifier les valeurs aberrantes, les plus grandes valeurs doivent être étudiées en premier, c'est-à-dire trier les données par   ordre décroissant .

Votre tâche — Écrire un programme qui automatise cette étape primaire de tri des données.

Le programme doit prendre une ligne contenant des entiers séparés par des espaces. Il faut déterminer si la somme de ces nombres est paire ou impaire. Si la somme est paire, le programme doit afficher ces nombres, triés par ordre croissant. Si elle est impaire — par ordre décroissant.

Format d entrée

Un ensemble de données expérimentales (une ligne d'entiers séparés par un espace).

Format de sortie

Ensemble de données trié (ligne d'entiers séparés par un espace).

Exemple

Entrée

5 2 8 1

Sortie

1 2 5 8

Indice

There will be no clue here, decide for yourself!

main.py
Test 1
Test 2
Test 3
Test 4
Test 5
Test 6
Test 7
Test 8
Test 9
Test 10
Solution du développeur
# Считываем строку, разделяем её по пробелам и преобразуем каждый элемент в целое число,
# создавая таким образом список чисел.
data = [int(s) for s in input().split()]

# Вычисляем сумму всех чисел в списке.
total_sum = sum(data)

# Проверяем, является ли сумма четной (остаток от деления на 2 равен 0).
if total_sum % 2 == 0:
    # Если сумма четная, сортируем список по возрастанию.
    data.sort()
else:
    # Если сумма нечетная, сортируем список по убыванию.
    data.sort(reverse=True)

# Выводим элементы списка через пробел. Звездочка (*) перед data "распаковывает"
# список, передавая его элементы в print как отдельные аргументы.
print(*data)

🎉 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é

red-snake blue-snake green-snake

Exécution de votre code...

Assistant IA

Bonjour ! Je suis ton assistant de programmation. Pose moi toutes tes questions sur Python — je peux t expliquer les fonctions, les méthodes et t aider avec la tâche en cours !