day 03
程序员文章站
2022-06-13 13:19:21
...
循环是编程语言中十分重要的一个功能。在python中提供了两种循环命令 while 和 for...in。语法分别如下:
while boolean表达式:
print("hello world")
for i in range(5)可迭代对象:
print(i)
while循环一不注意会造成死循环,即表达式值不变一直为True,内部代码块一直调用,此时通过ctrl+c终止运行(pycharm好像没用,可通过红色方块按钮结束进程)
尽量多使用 for 循环。
两个循环后面都可以加 else,当循环正常结束后自动运行其中的代码。以 for 循环为例:
for i in range(5)
print(i)
else:
print("一共输出了5次i")
2. 循环控制语句
break: 调用后终止本次循环,如果是循环内部嵌套循环,break写在哪个循环里就终止哪个。
for i in range(3):
if i == 1:
break
print(i)
>> 0
continue: 跳过本次循环运行下一次循环。
for i in range(3):
if i == 1:
continue
print(i)
>> 0
>> 2
3. list 对象
python 提供列表list来整合多个数据,数据的类型可以是任意类型,字符串,布尔值,列表(列表嵌套)甚至是函数。
list = ["嘿嘿",1,True,abs,[1,2,3,4]]
4. list 的增,删,改,查。
list 与字符串不同,可以动态对内部的元素进行操作。
添加元素:
list.append(obj) 在尾部添加
list.insert(下标,obj) 在下标处放入元素
list1 + list2 返回一个新的列表,新列表包含list1 和list2 的所有元素,顺序1 在前。且两个列表中即使有相同的元素,也不会省略。
l1 = [1,2,3]
l2 = [3,2,1]
print(l1 + l2)
>>[1,2,3,3,2,1]
list1.expend(list2) 将 list2 添加到 list1 中,无返回值。
l1 = [1,2,3]
l2 = [3,4,5]
l3 = l1.extend(l2)
print(l3) >> None
print(l1) >> [1,2,3,3,4,5]
print(l2) >> [3,4,5]
修改元素
list[i] =
删除元素
del list[i] 删除下标为 i 的元素,注意删除后 i 之后的元素会往前挪,下标会产生变化。
list.remove("x") 删除内容为“x”的元素,调用一次只删除一个即使“x”有多个。
几个小练习:
1. 输出一个菱形
for i in range(9):
print(" "*(9-i),end="")
for j in range(2*i-1):
print("*",end="")
print()
for i in range(9,0,-1):
print(" " * (9 - i), end="")
for x in range(2 * i - 1, 0, -1):
print("*", end="")
print()
2. 求 1~100内所有质数:
def zhishu(x):
for i in range(1,x+1):
sum = 0
for j in range(1,i+1):
if i == 1: # i=1时跳过
continue
if i % j == 0:
sum += 1
if sum == 2: # 若为质数,则在1至他本身的范围内,只有两个数能整除
print(i)
zhishu( 100)
3. 输出斐波那契数列:
菲波那切数列:1,1,2,3 , 5 , 8 , 13 , 21...
从第三项开始,后一项等于前两项之和
def fib(x):
Fib = [1,1]
for i in range(x):
if i == 0 or i == 1:
continue
a = Fib[i-1] + Fib[i-2]
Fib.append(a)
print(Fib)