• 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«Sécurité bancaire»

💻 Python

Vous travaillez en tant que développeur junior dans une banque avancée qui introduit un nouveau système automatisé pour vérifier les transactions financières en temps réel. Le système doit être rapide et précis pour prévenir la fraude sans créer d'inconvénients pour les clients consciencieux.

Vous êtes chargé d'écrire le module clé de ce système. Le programme doit analyser la transaction selon trois paramètres : le montant, l'heure et le statut du client (VIP ou ordinaire). Sur la base de ces données, le programme rend un verdict : « La transaction est approuvée » ou « La transaction est rejetée ».

Règles de vérification :

La transaction est considérée comme admissible et approuvée si elle remplit & nbsp; au moins une & nbsp; des conditions suivantes :

  1. Le montant de la transaction est strictement inférieur à 10 000 unités conditionnelles. Dans ce cas, l'opération est toujours approuvée, quel que soit l'heure et le statut du client.
  2. Le client a le statut « VIP » et la transaction est effectuée strictement avant 18h00.
  3. Le client a le statut « ordinaire », le montant de la transaction est strictement inférieur à 5 000 unités conditionnelles, et la transaction est effectuée strictement avant 18h00.

Si aucune de ces conditions n'est remplie, le système doit rejeter la transaction.

Votre tâche & mdash; Écrire un programme qui demande le montant, l'heure et le statut à l'utilisateur, puis affiche la décision du système.

Format d entrée

Le montant de la transaction (entier)
l'heure de la transaction, une heure (un entier de 0 à 23)
Le statut de l'utilisateur (ligne, "VIP" ou "ordinaire")

Format de sortie

Le verdict du système (ligne, « transaction approuvée » ou « transaction rejetée »)

Exemple

Entrée

15000
17
vip

Sortie

La transaction est approuvée

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
# Запрашиваем сумму транзакции и преобразуем введенную строку в целое число
transaction_amount = int(input())

# Запрашиваем время совершения транзакции (только час) и также преобразуем в целое число
transaction_time = int(input())

# Запрашиваем статус клиента. Это значение остается строкой ("VIP" или "обычный")
user_status = input()

# Основное сложное условие для проверки транзакции
# Оно объединяет все три правила через логический оператор "или" (or)
# Если хотя бы одна из частей условия верна (True), то весь блок считается верным
if (transaction_amount < 10000) or \
   (user_status == "VIP" and transaction_time < 18) or \
   (user_status == "обычный" and transaction_amount < 5000 and transaction_time < 18):
    # Если условие выполнено, выводим сообщение об одобрении
    print("Транзакция одобрена")
else:
    # Если ни одна из частей сложного условия не выполнилась, выводим сообщение об отклонении
    print("Транзакция отклонена")

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