• 1
    数据输入输出
    • 任务
  • 2
    条件语句
    • 任务
  • 3
    for循环
    • 任务
  • 4
    字符串
    • 任务
  • 5
    while循环
    • 任务
  • 6
    列表
    • 任务
  • 7
    二维数组
    • 任务
  • 8
    字典
    • 任务
  • 9
    集合
    • 任务
  • 10
    函数与递归
    • 任务
  • к

课程 5. While cycle

难度:

任务«计算斐波那契数的数量»

💻 Python

你——一位在奇幻世界中研究魔法水晶的研究员。你发现这些水晶按照一种特殊的规律生长,这种规律非常类似于一种古老的数学序列。

  • 在最开始(第零个月),你没有任何一块完整的水晶,只有魔法粉尘。0的结果是0。
  • 到第一个月结束时,从粉尘中形成了1块水晶。1的结果是1。
  • 到接下来的每个月结束时,水晶的数量等于前两个月水晶数量的总和。

你需要编写一个程序来帮助你预测水晶的生长。程序应向用户请求月份编号 n ,并计算到该月结束时你将拥有多少块完整的水晶。

技术要求:

  1. 程序必须请求一个整数 n —— 月份编号。
  2. 必须使用 循环 while 进行计算。
  3. 程序应正确处理特殊情况: n = 0 和 n = 1 。
  4. 如果用户输入负数或非数字的文本,程序必须显示错误信息: "Error: entered incorrect value."
  5. 结果必须以如下格式显示: "The Fibonacci number for n = [month] equals: [result]"

 

输入格式

月份的数字 & nbsp; n 用于计算(一个非负整数)。

输出格式

最终的水晶数量(斐波那契数)以格式化字符串或错误消息(字符串)的形式输出。

示例

输入

10

输出

当 n = 10 时,斐波那契数为:55

提示

There will be no clue here, decide for yourself!

main.py
测试 1
测试 2
测试 3
测试 4
测试 5
测试 6
测试 7
测试 8
测试 9
测试 10
开发者解答
# Запрашиваем у пользователя номер месяца в виде строки
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}")

🎉 恭喜! 🎉

你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。

AD

广告

red-snake blue-snake green-snake

正在运行代码...

AI助手

你好!我是你的编程助手。随时向我提问关于 Python 的问题——我可以解释函数、方法,并帮助你完成当前任务!