当我运行此代码时,它没有输出,请您解释一下这段代码的用途,并逐一解释它是如何实现其目的的。
def mystery(n):
a, b = 0, 1
while a < n
print (a)
a, b = b, a + b
我也想出了如何让它输出 你添加一个神秘的线(n),例如神秘(200)
我认为是这样的:
•第一行定义了一个带有一个参数的函数。 “def”一词表示功能
定义。函数“def”必须后跟函数名称,例如谜。
•第二行包含多个赋值。这是说变量“a”是相等的 为0,“b”等于1
•该函数定义“n”的值。在第三行“n”未定义。
•第四行是打印(a)
•第五行
答案 0 :(得分:0)
此代码是 Fibonacci系列生成器,最高为n
。唯一的错误是:
语句后缺少冒号(while
)。它以a=0
abd b=1
开头:比较a < n
;如果比较生成prints a
,则True
;分配b to a
并增加b by a
;继续while
循环,直到比较生成False
:
>>> def mystery(n):
... a, b = 0, 1
... while a < n:
... print (a)
... a,b = b,a+b
...
>>> mystery (10)
0
1
1
2
3
5
8
答案 1 :(得分:0)
# This is a method.
# You can call this method to its logic. (sea last line)
# N would be the maximum value
def mystery(n):
# This is the same as:
# a = 0 Asign a to 0
# b = 1 Asign b to 1
a, b = 0, 1
# Do the following until a is the same or bigger than n.
while a < n:
# Print the value of a
print a
# This is the same as:
# temp = a
# a = b
# b = a + b
# Example: a =1 and b =2
# temp = a
# a = 2
# b = temp + 2
a, b = b, a + b
# Calling the method with value 10
# you first have to call this before it executes
mystery(10)
输出:
0
1
1
2
3
5
8
这称为斐波那契
答案 2 :(得分:0)
为什么不将代码更改为:
,而不是为代码内部定义Fibonacci序列的值。def mystery(n):
a, b = 0, 1
while a < n:
print (a)
a, b = b, a + b
mystery(int(input("Insert A Number: ")))
这将允许用户输入一个值,将显示Fibonacci序列。