• 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 5. While cycle

Difficulté :

Exercice«Calcul du nombre de Fibonacci»

💻 Python

Vous — un chercheur dans le monde fantastique étudiant les cristaux magiques. Vous avez découvert que ces cristaux croissent selon une loi spéciale qui rappelle beaucoup une ancienne séquence mathématique.

  • Au tout début (mois zéro), vous n'avez pas un seul cristal entier, seulement de la poussière magique. Le résultat pour 0 est 0.
  • À la fin du premier mois, 1 cristal se forme à partir de la poussière. Le résultat pour 1 est 1.
  • À la fin de chaque mois suivant, le nombre de cristaux devient égal à la somme des cristaux des deux mois précédents.

Vous devez écrire un programme qui vous aidera à prédire la croissance des cristaux. Le programme doit demander à l'utilisateur le numéro du mois   n   et calculer combien de cristaux entiers vous aurez à la fin de ce mois.

Exigences techniques :

  1. Le programme doit demander un nombre entier   n   — le numéro du mois.
  2. Vous devez effectuer le calcul en utilisant   une boucle   while .
  3. Le programme doit correctement traiter les cas spéciaux :   n = 0   et   n = 1 .
  4. Si l'utilisateur saisit un nombre négatif ou du texte au lieu d'un nombre, le programme doit afficher un message d'erreur :   "Erreur : valeur saisie incorrecte."
  5. Le résultat doit être affiché au format :   "Le nombre de Fibonacci pour n = [mois] est : [résultat]"

 

Format d entrée

numéro du mois & nbsp; n pour le calcul (un nombre entier non négatif).

Format de sortie

Le nombre final de cristaux (le nombre de Fibonacci) sous forme d'une ligne formatée ou d'un message d'erreur (ligne).

Exemple

Entrée

10

Sortie

Le nombre de Fibonacci pour n = 10 est : 55

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

# Проверяем, состоит ли введенная строка только из цифр
if not n_str.isdigit():
    # Если нет, выводим сообщение об ошибке
    print("Ошибка: введено некорректное значение.")
else:
    # Преобразуем строку в целое число
    n = int(n_str)

    # Обрабатываем базовые случаи n=0 и n=1
    if n == 0:
        # Для 0-го месяца результат 0
        result = 0
        print(f"Число Фибоначчи для n = {n} равно: {result}")
    elif n == 1:
        # Для 1-го месяца результат 1
        result = 1
        print(f"Число Фибоначчи для n = {n} равно: {result}")
    else:
        # Инициализируем первые два числа последовательности
        a, b = 0, 1
        # Инициализируем счетчик, начинаем со второго числа, так как 0 и 1 уже есть
        count = 1

        # Запускаем цикл, который будет работать, пока мы не достигнем нужного месяца n
        while count < n:
            # Вычисляем следующее число Фибоначчи
            # a становится b, а b становится суммой старых a и b
            a, b = b, a + b
            # Увеличиваем счетчик на 1
            count += 1
        
        # После завершения цикла в переменной 'b' находится n-ое число Фибоначчи
        result = b
        print(f"Число Фибоначчи для n = {n} равно: {result}")

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