黑马程序员技术交流社区

标题: 【郑州校区】Python100例基础练习(2) [打印本页]

作者: 我是色色    时间: 2017-12-20 14:07
标题: 【郑州校区】Python100例基础练习(2)
例6
题目:斐波那契数列
斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........
自然中的斐波那契数列
这个数列从第3项开始,每一项都等于前两项之和。
程序分析:
在数学上,费波那契数列是以递归的方法来定义:
[AppleScript] 纯文本查看 复制代码
F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+ Fn-2

方法1:
[AppleScript] 纯文本查看 复制代码
def Fib(n):
    if n==1 or n==2:
        return 1
    return Fib(n-1)+Fib(n-2)
print(Fib(10))
方法2:输出指定个数的斐波那契数列
[AppleScript] 纯文本查看 复制代码
def Fib(n):
    if n==1:
        return [1]
    if n==2:
        return [1,1]
    fibs=[1,1]
    for i in range(2,n):
        fibs.append(fibs[-1]+fibs[-2])
    return fibs
#打印前十个斐波那契数列
print(Fib(10))

例7
将一个列表的数据复制到另一个列表中。
程序分析:使用列表
方法1:简单copy
[AppleScript] 纯文本查看 复制代码
list=['alex','A','B',1,'Name']
list_a=list.copy()
print("copy1 ",list_a)
方法2:深copy与浅copy
[AppleScript] 纯文本查看 复制代码
import copy #模块
list = ['alex', 'A', ["QAZWSX", 11, 22, 33], 'B', 1, 'Name']
list_deep=copy.deepcopy(list)
list_copy=copy.copy(list)
list[2][0]="qazwsx"
list[1]='100'
print(list)
print("list_deep>>>",list_deep)  #深copy
print("list_copy>>>",list_copy)  #浅copy
注:
深copy与浅copy
共同点:不会因为列表的父层变动而变动
不同点:子列表修改时,浅copy会跟随变动而变动,而深copy不会变动。

例8
输出9*9的乘法口诀表
方法1:
[AppleScript] 纯文本查看 复制代码
[mw_shl_code=applescript,true]for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%d" % (i, j, i*j))
```**

**方法2:**
[/mw_shl_code]
[AppleScript] 纯文本查看 复制代码
for i in range(1,10):
for j in range(1,i+1):
k=ij
print("{}{}={}".format(i,j,k),end=" ") #end后面引号内留空,输出的结果不美观。
print("")
**方法3:(加法口诀)**
[AppleScript] 纯文本查看 复制代码
for i in range(1,10):
for j in range(1,i+1):
k=i+j
print("{}+{}={}".format(i,j,k),end=" ")
print("")
[AppleScript] 纯文本查看 复制代码


-----



**例9**
暂停两秒输出:
程序分析:利用time模块

**方法1:**
[AppleScript] 纯文本查看 复制代码
import time
my={1:'a',2:'b',3:'c',4:'e'}
for key,value in dict.items(my):
print(key,value)
time.sleep(2)

**方法2:**
[AppleScript] 纯文本查看 复制代码
l=['a','b','c','d','e']
for i in range(len(l)):
print(l)
time.sleep(2)
[AppleScript] 纯文本查看 复制代码
**Time模块
返回当前时间的时间戳(1970纪元后经过的浮点秒数)。 **


-----


**例10**
暂停1s输出,并格式化当前时间。

方法:
[AppleScript] 纯文本查看 复制代码
import time

print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))

#暂停一秒
time.sleep(1)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
```


作者: 我是色色    时间: 2017-12-20 14:07
{:8_507:}
作者: 我是楠楠    时间: 2017-12-22 15:39

作者: 码农小生    时间: 2018-4-28 08:51
给你一朵小红花,谢谢分享
作者: lilililililili    时间: 2018-5-29 13:20
gghhhhFffFdxdddddddffggghhhjjjjhhvv
作者: baby14    时间: 2018-6-15 07:53
多谢分享
作者: pysl    时间: 2018-7-19 07:32
挺不错的,谢谢分享
作者: wuguohui1981    时间: 2018-7-23 05:58
QQQQQQQQQQQQQQQQQQQQ




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2