[Day_21]回圈与生成式 - 练习题

费氏数列

费氏数列氏将第1项与第2项相加等於第3项,第2巷与第3项相加等於第4项,依此类推,初始化费氏数列的第1项为1且第2项为1,计算出前n项的费氏数列,n由使用者输入。

HINT:使用「a,b = b,a+b」定义费氏数列的关系,第k+2项等於第k项加上第k+1项,使用for回圈产生费氏数列。

#output
请输入求第几项费氏数列? 5
1 1
2 1
3 2
4 3
5 5

#input
num = int(input('请输入求第几项费氏数列? '))
a = 1
b = 1
print(1,a)
for i in range(2,num+1):
    a,b = b,a+b
    print(i,a)

产生字与自的出现次数的字典

使用「李白 长干行之一」的唐诗,找出每一个字与字出现次数,使用字当成「键」,出现次数当成「值」,且出现次数大於2次的字制作成字典,接着找出字典出现次数等於3的自制作成另一个字典。

HINT:使用字典生成式制作字典,使用函式count计算字的次数,函式set制作字的集合避免重复计算相同的字。

#output
{'十': 3, '不': 4, '一': 3}
{'十': 3, '一': 3}
#input
s='妾 发 初 覆 额,折 花 门 前 剧 。\
郎 骑 竹 马 来,绕 床 弄 青 梅 。\
同 居 长 干 里,两 小 无 嫌 猜 。\
十 四 为 君 妇,羞 颜 未 尝 开 。\
低 头 向 暗 壁,千 唤 不 一 回 。\
十 五 始 展 眉,愿 同 尘 与 灰 。\
常 存 抱 柱 信,岂 上 望 夫 台 。\
十 六 君 远 行,瞿 唐 灩 澦 堆 。\
五 月 不 可 触,猿 声 天 上 哀 。\
门 前 迟 形 迹,一 一 生 绿 苔 。\
苔 深 不 能 扫,落 叶 秋 风 早 。\
八 月 蝴 蝶 来,双 飞 西 园 草 。\
感 此 伤 妾 心,坐 愁 红 颜 老 。\
早 晚 下 三 巴,预 将 书 报 家 。\
相 迎 不 道 远,直 至 长 风 沙 。'
d = {w:s.count(w) for w in set(s) if w!='\t' and w!='\u3000' and w!= ' 'and w!=','and w!='。' and s.count(w)>2}
print(d)
d = {k:v for k,v in d.items() if v==3}
print(d)

以上这两个习题提供大家练习,
不懂得可以往前复习回圈与生成式的文章喔!
/images/emoticon/emoticon05.gif


<<:  Day 20 ATT&CK for ICS - Evasion(2)

>>:  Day 20 - 规划各功能模组的介面

【I Love Vue 】 Day 29 爱荷华博弈任务(十) - Demo

话不多说,赶紧把我们的作品Demo 给我们 铁人学院的业主吧!! Demo 进入主画面 我们可以透过...

Day 5 - TiDB架构

TiDB里头的TiDB,听起来有点饶舌,为了避免混淆,後面会加个server来做区别。TiDB se...

【少女人妻的30天Elastic】Day 27 : App Search_API 介绍与应用_Search Settings

Aloha!又是我少女人妻 Uerica!这个连假又过了一场奇幻旅程,交了两个好朋友,心得是原来我...

【从零开始的Swift开发心路历程-Day11】XIB

当你的storyboard里有太多元件或是你用了太多的storyboard可能会使你的Xcode卡顿...

[DAY 14] Route 53

Rout 53 是 AWS 提供的 DNS service, 具有高可用性, 高扩展性 额外提一点...