题目006:斐波那契数列

程序分析:斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。

【思路】:很多种解法,我是按照分割的方式,每次取列表后两项,然后相加。

l = [0,1] for i in range(10):
arr = l[-2:] l.append(arr[0]+arr[1])
print(l)

题目007:将一个列表的数据复制到另一个列表中。

【思路】:如果系统的看过python教程之类的应该都知道。

Python里面一切都是对象,list的复制需要用[:]的方式。

至于b=a只是相当于给a取了个别名而已,指向的是同一个列表,并没有实现复制。

a = [1, 2, 3] b = a[:] '''题外话'''
a[0]=0
print(id(a),id(b)) # 可以看到a,b的内存不一致,是复制
print(a,b) # 修改a,b不变
a = [1, 2, 3] b = a
a[0]=0
print(id(a),id(b)) # 如果去掉[:],可以看到a,b的内存一致,并没有复制,指向的是同一个列表
print(a,b) # 修改a,b也变

题目008:题目:输出 9*9 乘法口诀表

【思路】:已经忘了,百度了才想起来口诀表具体长什么样。

注意 %-7s 和 end='' 的用法,其他没什么。

for i in range(1,10):
for j in range(1,10):
if j<=i:
string = '%d*%d=%d'%(j,i,j*i)
print('%-7s'%string,end='')
print('')
def tm008_1():

用format方法生成字符串,也可以参考。用循环到i+1的方法,比上面还能少写一行。

for i in range(1,10):
for j in range(1, i + 1):
print("{0} * {1} = {2}".format(i, j, i * j),end="\t")
print()

题目009:暂停一秒输出。

【思路】:time.sleep(),用过的都知道。

import time
a = time.time()
time.sleep(1)
b = time.time()
print(b-a)

题目010:暂停一秒输出,并格式化当前时间。

【思路】:用过几次,用过就忘。

import time
a = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) # time.localtime()时间戳转化成时间元祖
print(a)
time.sleep(1)
b = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) # time.strftime()时间元祖转化成时间文本
print(b)