-
Notifications
You must be signed in to change notification settings - Fork 0
/
斐波那契词序列.py
52 lines (42 loc) · 1.7 KB
/
斐波那契词序列.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
'''
Coding: UTF-8
Version:python 3.0
Author: mangosago
Time: 2024/4/27
Email:[email protected]
'''
# 编写一个程序,生成斐波那契词序列的前n个元素。
# 斐波那契词序列是一个词序列,其中每个词是通过连接前两个词形成的。
# 它以斐波那契序列命名,因为它是以类似的方式创建的,但是我们不是加数字,而是连接字符串或符号。
#
# 比如:
# 从两个单字母词开始,传统上是a和b。连接最后两个词以形成下一个词。
# 因此,斐波那契词序列的前几个词是:a,b,ba,bab,babba
#
# 定义函数generate_fibonacci_word(),接受一个参数n(整数)。
# 如果n小于2,函数应返回invalid。
# 对于n的其他值,生成斐波那契词序列到第n项,并逗号, 分隔的字符串返回。
#
# 示例输入
# 5
# 示例输出
# a, b, ba, bab, babba
def generate_fibonacci_word(n):
# 判断特殊情况输入的值小于 2 时直接返回指定字符
if n < 2:
return 'invalid'
# 定义起始字符以及第一个斐波那契词列表
start_str = 'a'
end_str = 'b'
fibonaci_list = [start_str]
# 将斐波那契词列表长度作为循环条件,长度等于输入的值时结束循环
while len(fibonaci_list) != n:
# 将起始字符作为斐波那契词进行赋值并插入到斐波那契词列表中
start_str,end_str = end_str,end_str + start_str
fibonaci_list.append(start_str)
# 将最终循环结束后的斐波那契词列表使用 join 方法进行拼接并使用指定符合隔开
return ', '.join(fibonaci_list)
# 获取用户输入
n = int(input())
# 调用函数
print(generate_fibonacci_word(n))