一、输出前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())
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)
第一种方法:
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)