老男孩Python全栈学习 S9 日常作业 012

1、斐波那契数列用递归实现:问第n个斐波那契数是多少

def fbnq(n):
if n == 0 or n == 1:
return 1
else:
return fbnq(n-1)+fbnq(n-2)
print(fbnq(5))

答案

2、用列表推导式做下列小题

  • 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母
print([i.upper() for i in lst if len(i)>=3 ])
  • 求(x,y)其中x是0-5之间的偶数,y是0-5之间的奇数组成的元祖列表
print([(x,y)for x in range(5)if x%2==0 for y in range(5)if y%2==1])
  • 求M中3,6,9组成的列表M = [[1,2,3],[4,5,6],[7,8,9]]
print([i[2] for i in M ])
  • 求出50以内能被3整除的数的平方,并放入到一个列表中。
print([i*i for i in range(0,50)if i %3==0 ])
  • 构建一个列表:['python1期', 'python2期', 'python3期', 'python4期', 'python6期', 'python7期', 'python8期', 'python9期', 'python10期']
print(["python%s期"% i for i in range(1,11)])
  • 构建一个列表:[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]
print([(i,i+1)for i in range(6)])
  • 构建一个列表:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
print([i for i in range(0,20)if i %2==0])
  • 有一个列表l1 = ['alex', 'WuSir', '老男孩', '太白']将其构造成这种列表['alex0', 'WuSir1', '老男孩2', '太白3']
print([l1[i]+str(i) for i in range(len(l1))])
  • 有以下数据类型,将数据通过列表推导式转换成下面的类型:[[1517991992.94, 100], [1517992000.94, 200], [1517992014.94, 300], [1517992744.94, 350], [1517992800.94, 280]]
x = {
'name':'alex',
'Values':[{'timestamp':1517991992.94,
'values':100,},
{'timestamp': 1517992000.94,
'values': 200,},
{'timestamp': 1517992014.94,
'values': 300,},
{'timestamp': 1517992744.94,
'values': 350},
{'timestamp': 1517992800.94,
'values': 280}
],}

数据类型

print([[v[i]['timestamp'],v[i]['values']]for k,v in x.items()  for i in range(len(v))if k=='Values'])#第一种方法
print([[i.get('timestamp'),i.get('values')]for i in x.get("Values")])#第二种方法

3、求结果

v = [i % 2 for i in range(10)]
print(v)
# [0,1,0,1,0,1,0,1]

4、求结果

for i in range(5):
print(i)
print(i)
# 0 1 2 3 4 4
上一篇:浅析python中的装饰器decorator


下一篇:老男孩Python全栈学习 S9 日常作业 001