斐波那契数列演算

一、输出前12位的斐波那契数列[1,1,2,3,5,...144]

1.range()  从下标为零开始,包含初始值,但不包含终止值

a,b=0,1
for i in range(12):
    a,b=b,a+b
    print(a)

2.使用列表法:

ar=[1,1]
for i in range(2,12):
    ar.append(ar[i-2]+ar[i-1])
for i in ar:
    print(i)

3.使用列表法: (倒序排列  pop()方法)


ar=[1,1]
for i in range(2,12):
    ar.append(ar[i-2]+ar[i-1])
for len(ar) != 0:
    print(ar.pop())


4.使用列表法:(倒序排列 reserve()方法)


ar=[1,1]
for i in range(2,12):
    ar.append(ar[i-2]+ar[i-1])
ar.reserve()
for i in ar:
    print(i)


5.定义函数   def

第一种方法:

def shu(n=12):
    count=1
    a,b=0,1
    while count <= n:
        yield b           #yield 迭代生成器
        a,b=b,a+b
        count+=1
for i in shu():
    print(i)

第二种方法:

def shu(n=12)
    a,b=0,1
    for i in range(n):
    a,b=b,a+b
for i in shu():
    print(i)

二、删除所数数字是三倍数的所对应的数值

采用队列思维解决,操作数永远是a[0]

a=[1,2,3,4,5,6,7,8,9,10]
count=0
while True:
    if len(a)==1:
        break
    count=count+1
    if count%3==0:
        del a[0]
    else:
        a.append(a.pop())
print(a)

三、随机数,取双色球

1到34中生成6个随机数

import random
a=random.sample(range(1,34),6)
a.sort()
print (a)


random 的几种方法:

import random
#默认生成0(包含)到1(不包含)区间的小数
print (random.random())
#uniform(x,y)随机生成下一个实数,在[x,y]范围内
print (random.uniform(3,4))
#从指定范围内,在指定基数递增的集合中获取一个随机数,基数缺省值为1
print(random.randrange(1,20,2))
#从序列的元素中随机挑选一个元素,如:random.choice(range(10)),从0(包含)到9中随机随机挑选一个整数
print(random.choice(range(10,15)))

四、通过程序判断用户输入的字符串中符号是否匹配

str=input'请输入字符串:')
mystack=[]
flag=True
for i in str:
    if i =='{':
        mystack.append('}')
    elif i =='[':
        mystack.append(']')
    elif i=='(':
        mystack.append(')')
    elif i=='{' or i=='[' or i==')':
        if len(mystack)==0:
            flag=False
            break
        elif mystack.pop() != i:
            flag=False
            break
if flag and len(mystack)==0:
    print('完美')
else:
    print('有瑕疵')    

五、类型转换的两种方式

#第一种:
a=print('请输入一个数')
a=int(a)+1
print(a)

#第二种:
a=(int)print('请输入一个数')
a=a+1
print(a)







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值