100例经典炒菜_Python3经典100例(②)

e7435d4f513a3c2d05a3e173678f4208.png

实例6

  • 题目:斐波那契数列;
  • 分析:利用递归计算斐波那契数列,输入斐波那契数列的n位,调用递归计算出第n位的数列值;
  • 代码:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-3 21:10
# @Author  : Manu
# @Site    : 
# @File    : fib.py
# @Software: PyCharm

def fib(num):
    if num <= 2:
        result = 1
    else:
        result = fib(num - 1) + fib(num - 2)
    return result

while True:
    num = int(input('num = '))
    print('斐波那契数列的第 %d 个值是 %d' % (num, fib(num)))
  • 结果:

edd55eefc55d9f3316f2419439d916c7.png

实例7

  • 题目:将一个列表的数据复制到另一个列表中;
  • 分析:Python复制数据有三种方式:直接赋值、浅拷贝、深拷贝;
  • 代码:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-4 10:20
# @Author  : Manu
# @Site    : 
# @File    : copy.py
# @Software: PyCharm

import copy

# 直接赋值,相当于对象引用,即就是另起一个名字
print('assignment:')
list1 = [1, 3, 5, 7, 9, 'Manu Ginobili', 20]
list2 = list1
print(list2)

# 浅拷贝(copy),拷贝父对象,不拷贝子对象
print('copy:')
list1 = [1, 3, 5, 7, 9, 'Manu Ginobili', 20]
list2 = list1.copy()

list1.append(21)
print(list1)
print(list2)

list2.append(14)
print(list1)
print(list2)

# 深拷贝(deepcopy),完全拷贝父对象及子对象
print('Deepcopy:')
list1 = [1, 3, 5, 7, 9, 'Manu Ginobili', 20]
list2 = copy.deepcopy(list1)

list1.append('Duncan')
print(list1)
print(list2)

list2.append('Paker')
print(list1)
print(list2)
  • 结果:

3c235fe14ea04a618278facbb17ea6df.png

实例8

  • 题目:输出 9*9 乘法口诀表
  • 分析:两层循环,将乘法口诀表以左下三角格式打印出
  • 代码:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-7 18:38
# @Author  : Manu
# @Site    : 
# @File    : multiple.py
# @Software: PyCharm

for i in range(1, 10):
    for j in range(1, i + 1):
        print('%d * %d = %dt' %(i, j, i * j), end=' ')
    print()
  • 结果:

a5528b6d89cd6791c5d780c503b7cb21.png

实例9

  • 题目:暂停一秒输出;
  • 分析:调用time模块中的sleep()方法即可;
  • 代码:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-7 18:47
# @Author  : Manu
# @Site    : 
# @File    : wait1s.py
# @Software: PyCharm

import time

spurs = ['Tim Duncan', 'Manu Ginobili', 'Tony Paker']
for spur in spurs:
    print(spur)
    time.sleep(1)
  • 结果(打印出结果时会有明显的停顿):

fa3723aa310ae652d693ff3e129b62f0.png

实例10

  • 题目:暂停一秒输出,并格式化当前时间;
  • 分析:使用time模块的strftime()方法实现;
  • 代码:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-7 18:54
# @Author  : Manu
# @Site    : 
# @File    : wait1s_format.py
# @Software: PyCharm

import time

print('当前时间:')
print(time.strftime("%Y-%m-%d %H:%M:%S %a", time.localtime()))
time.sleep(1)
print('等待一秒后时间:')
print(time.strftime("%Y-%m-%d %H:%M:%S %a", time.localtime()))
  • 结果:

81c4f99623ff1fb90849e265e343c1c9.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值