python基础练习100打卡-Day02

今天也是学python的一天🚩

打卡练习题:菜鸟100实例

006

题目

斐波那契数列

分析

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

代码

代码一:

好像可以直接用list结合for循环欸,感觉有点儿意思了,单看结果没差别

li = [1, 1]
num = int(input('显示数列位数(>2):'))
for i in range(num - 2):
    a = li[-1] + li[-2]
    li.append(a)
print(li)
二:

还是要学习使用递归的

def f(n):
    if n == 1 or n == 2:
        return 1
    else:
        return f(n-1) + f(n-2)
print(f(12))

小结

斐波拉契数列似乎有很多解法,也似乎总跟时间复杂度一起出现,等学习时间复杂度后可以再回头看看各种方法之间的差别。

007

题目

将一个列表的数据复制到另一个列表中。

分析

可以用切片、循环、copy()方法

代码

代码一:
# 使用切片[:]
li_1 = [1, 2, 3]
li_2 = li_1[:]
print(li_2)
二:
# 使用copy()方法
li_1 = [1, 2, 3]
li_2 = li_1.copy()
print(li_2)
三:
# 使用循环
li_1 = [1, 2, 3]
li_2 = []
for i in range(len(li_1)):
    li_2.append(li_1[i])
print(li_2)

008

题目

输出 9*9 乘法口诀表

分析

使用for循环的嵌套,外层控制行,内层控制列,有九行九列,且每行的列数等于行号

代码

for row in range(1, 10):
    for col in range(1, row + 1):
        print(f'{row} * {col} = {row * col}', end=" ")
    print()     # 一行结束换行

009

题目

暂停一秒输出。

分析

用到time模块下的sleep()函数

代码

import time

li = [1, 2, 3, 4, 5]
for i in range(len(li)):
    print(li[i])
    time.sleep(1)	# 暂停一秒

小结

  • time.sleep(secs):secs参数用于指定暂停的秒数,其中它的单位是“s”,可以是小数

  • 使用前需要导入time模块

010

题目

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

分析

也是对time模块中函数的使用,这里用sleep()和gmtime()函数

代码

import time

for i in range(5):
    print(time.strftime("%y-%m-%d %H:%M:%S %b", time.gmtime()))
    time.sleep(1)

-----------结果--------------
21-11-25 11:57:53 Nov
21-11-25 11:57:54 Nov
21-11-25 11:57:55 Nov

小结

这个strftime()函数有两个参数,第一个是格式字符串,最后输出结果的样式就由它决定,另一个是struct_time对象,这个也是time模块下的一种类型,年月日等数据都包含在里面,更多细节还是需要另外做笔记。


🆗今日份打卡完成,再次遇见了递归,也见识到了time这个家族能力的冰山一角,明天继续长见识!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值