「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」
1.斐波那契数列
斐波那契数列(Fibonacci series):前面两个数的综合确定了下一个数。
公式:a,b = b, a+b
要使用if/while
代码:(取前六位)
a,b = 0,1
while b < 10:
a,b = b, a+b 相当于:n = b
m = a+b
a = n
b = m
print(b) 输出为:1,1,2,3,5,8 (竖着排序),因为print自带\n。
目的:右边的表达式会在赋值变动之前执行,右边表达式的执行顺序是从左往右的。
把输出结果竖着排列改为横着有序排列:用关键字end
a,b = 0,1
while b<10:
print(b,end="")
a,b=b,a+b #输出结果为:1,1,2,3,5,8(横着排序)
作用:end关键字可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符。
2.python中的循环语句有for和while
(1)for循环可以遍历任何序列的项目[] ()""
for循环的一般格式如下:
for<variable>in<sequence>:
<statements>
else:
<statements>
例如:
a = ["bb","cc","ff","ss"]
for i in a:
print(i,end=",")
作用:遍历a。
1.删除a里面的一个元素:
(1)a.remove("ss")
(2)del a[index]
(3)删除列表末尾的元素 a.pop()
2.增加
(1)在末尾添加元素
a.append("ss")
(2)插入元素
a.insert(index,"ss")
(2)遍历数字序列:range()
例如:
range(0,5) 意味着:[0,1,2,3,4]
range(1,6,2) 意味着:[1,3,5] 仔细想想会发现就跟前面的切片很像哦
配合len()操作:
a = ["中国","吴某","张汉","吴中国"]
代码做出效果:
#0 "中国"
#1 "吴某"
#2 "张汉"
#3 "吴中国"
代码:
a = ["中国","吴某","张汉","吴中国"]
for i in range(len(a)):
print(i, a[i])
用if 和 while实现:
用if实现不了循环,只能单个打印: 用while实现循环:
a = ["中国","吴某","张汉","吴中国"] a = ["中国","吴某","张汉","吴中国"]
c = 1 c = 0
if c < len(a): while c < len(a):
print(c,a[c]) print(c,a[c])
c +=1 c +=1
else:
print("结束")
3.break(打断) 和 continue(继续)
break语句可以跳出for 和 while的循环体。如果你从for 或 while循环中终止,任何对应的循环else快将不执行。
continue语句被用来搞死Python跳出当前循环快中的剩余语句,然后继续进行下一轮循环。
例子:
#要用n+=1 n-=1
#break continue
a = 5 a = 5
while a>0: while a>0:
a -= 1 a-=1
if a == 2: if a ==2:
break continue
print(a) print(a)
print("循环结束") print("循环结束")
#输出为:4 3 循环结束 输出为:4 3 1 0 循环结束