关于python中使用while文编写斐波那契数字的问题

img


想请问一下题的解题思路和答案,只能理解输出斐波那契数字的办法,题目列举的答案不太能够理解!谢谢解答!

m = input("请输入2以上的正数:")

a, b = 0, 1
i = 2
while True:
    if b > int(m):
        print(a)
        break
    a, b = b, a + b
    i += 1

m = int(input("请输入2以上的正数:"))
a, b = 0, 1
while b<=m:
    a, b = b, a + b
print(a)

题目解析:
要求你先计算斐波那契数字,然后输入一个m,你输出斐波那契数字中小于等于m的最大的那个数字