python练习实例(二)

1、斐波那契数列

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

在数学上,费波那契数列是以递归的方法来定义:
F0 = 0     (n=0)
F1 = 1    (n=1)
Fn = F[n-1] +  F[n-2] (n=>2)

方法一:采用递归解决

def f(n):
    if n == 2:
        return 1
    elif n == 1:
        return 0
    return f(n-1)+f(n-2)
x = int(input('enter the number:'))
print(f(x))

方法二:采用循环来解决

def fib(n):
    a,b=0,1
    for i in range(n-1):
        a,b=b,a+b
    return a
print(fib(10))

2、输出 9*9 乘法口诀表。

程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

for i in range(1,10):
    print()
    for j in range(1,i+1):
        print("%d*%d=%d" %(i,j,i*j),end=" ")

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

采用time模块下的方法
函数time.time()用于获取当前时间戳,从1970年到当前时间,单位为s
函数:time.localtime(time.time()),获取当前时间,返回时间元组
函数:time.asctime( time.localtime(time.time()) ),获取格式化当前时间
函数:time.sleep(),暂停,单位为s

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())))

4、经典问题:不死神兔

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…,
与第一个问题斐波那契数列相同:a[i]+a[i+1]=a[i+2],参考问题一代码

5、判断101-200之间有多少个素数,并输出所有素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

#9、判断101-200之间有多少个素数,并输出所有素数。
from math import sqrt
count=0 #总量
flag=0 #标记
for i in range(101,201):
    for j in range(2,int(sqrt(i)+1)):
        if (i % j == 0):
            flag=1
            break
    if flag==0: #是素数,则输出
        print(i)
        count+=1
    flag=0#重置标记
print('the number is ',count)#输出总数

6、列表的综合使用

请添加图片描述

#问题一实现
products = [['iphone',6888],['MacPro',14800],
            ['小米6',2499],['Coffee',31],
            ['Book',60],['Nike',699]]
i = 0
print('------商品列表------')
for product in products:
    print(i,' ',product[0],'\t',product[1])
    i += 1
    
#问题二实现
ShopCars = [] #购物车
while True:
    x = input('请输入想购买商品的编号:')
    if x == 'q':
        break
    j = int(x)
    ShopCars.append(products[j])
for shopcar in ShopCars:
    print(shopcar[0],'\t',shopcar[1])

猜你喜欢

转载自blog.csdn.net/weixin_45573296/article/details/123928513