一、for 循环
- 语法:
for 变量 in 序列:
循环体
- range函数 - 创造等差数列
-
range(N) - 创建[0,N)的等差数列,差是1。
- range(6):0 1 2 3 4 5
-
range(M,N) - 创建[M,N)的等差数列,差是1.(注意:M<N)
- range(5,10):5 6 7 8 9
-
range(M,N,step) - 创建[M,N)的等差数列,差是step
- range(2,10,2):2 4 6 8
- range(10,2,-2):10 8 6 4
# 练习:使用range函数生成以下等差列
# 1) 0 1 2 3 4 5 6 7 8 9 10
for x in range(11):
print(x)
# 2) 9 10 11 12 13
for x in range(9,14):
print(x)
# 3) 7 5 3 1
for x in range(7,0,-2):
print(x)
# 案例1:求1+2+3+……+100
sum1 = 0
for x in range(1,101):
sum1 += x
print(sum1)
# 案例2:求所有学生的总成绩
scores = [98, 80, 70, 67, 55, 99, 81]
total_scores = 0
for x in scores:
total_scores += x
print(total_scores)
# 练习1:求100+101+102+...+200的结果
sum2 = 0
for x in range(100,201):
sum2 += x
print(sum2)
# 练习2:求nums中所有元素的和
nums = [89, 10, 22, 11, 4, 8, 9]
total_score2 = 0
for x in nums:
total_score2 += x
print(total_score2)
# 练习3:求nums中所有偶数的和
nums = [89, 10, 22, 11, 4, 8, 9]
total_score3 = 0
for x in nums:
if x % 2 == 0
total_score3 += x
print(total_score3)
# 练习4:统计100以内所有能被3整除的个数
count = 0
for x in range(1,100):
if x % 3 == 0:
count += 1
print(count)
二、 while 循环
-
语法:
while 条件语句:
循环体 -
执行过程:先判断条件语句是否成立,如果成立就执行循环体,执行完循环体再判断条件语句是否成立,成立就再执行循环体……以此类推,直到条件语句结果为False的时候结束循环
-
continue - 结束一次循环
- 在循环体中如果遇到了continue,那么这一次循环结束,直接进入下一次循环
for x in range(5):
print('hello') #只打印5次你好
continue
print('你好')
for x in range(10):
if x % 3 == 0:
continue
print(x) #1 2 4 5 7 8
- break - 结束整个循环
- 执行循环体的时候如果遇到break,整个循环直接结束(循环体剩下的部分不执行,也不再进入下一次循环)
for x in range(1, 10):
print(x) # 1 2
if x % 4 == 2
break
-
当while遇到break
- while True:
需要重复执行的操作
if 循环结束的条件:
break
- while True:
-
只能使用while循环的场景
- 死循环
- 循环次数不确定:程序员在写代码的时候无法确定循环次数,因为次数由用户行为控制
# 案例:提示用户输入密码,直到输入正确为止 pass_word = '123456' while true: value = input('请输入密码:') if value == pass_word break # 练习:写一个猜数字游戏 # 产生一个0~100的随机数。然后提示用户输入数字,直到输入正确为止;输入错误的时候给出对应的提示。 # 产生一个0~100的随机数。 from random import randint number = randint(0, 100) while true: a=int(input('请输入一个整数(0~100):')) if a > number: print('大了,再小点儿!') elif a < number: print('小了,再大点儿') else: print('恭喜你,猜对了!') break
三、列表
1、认识列表 - list
-
列表是系统类型中容器型数据类型的一种.
-
列表是容器,将[]作为容器的标志,里面多个元素用逗号隔开:[数据1, 数据2, 数据3,……]
-
列表是可变的(支持增,删,改),列表是有序的
-
列表的元素:任何类型的数据都可以作为列表的元素,而且同一列表中的元素类型可以不一样(列表也可以作为元素)
2、查
2.1查单个 - 获取列表中的某一个元素
-
语法:
-
列表[下标] - 获取列表中指定下标对应的元素
-
说明:列表 - 可以是保存列表的变量,也可以是一个具体的列表
[] - 固定写法
下标 - 列表中的元素在列表中的位置信息
列表中的每个元素都有两个下标值:> 从前往后从0开始不断增加的下标值 > 从后往前从-1开始不断减小的下标值
-
movies = ['复仇者联盟', '盗梦空间', '怦然心动', '绿皮书', '肖生克的救赎', '触不可及']
print(movies[1]) #盗梦空间
print(movies[3]) #绿皮书
2.2遍历 - 一个一个地获取列表中所有的元素
- 语法:
for 变量 in 列表:
循环体(变量依次取到的就是列表中的元素)
# 案例:统计scores中不及格学生的个数
scores = [89, 78, 67, 10, 45, 99, 50]
count = 0
for x in scores:
if x < 60:
count += 1
print(count)
3、增 - 添加元素
3.1列表.append(元素) - 在列表的最后添加一个元素
# 练习1:提取nums中所有的偶数
nums = [89, 78, 90, 64, 55, 71, 34]
num1 = []
for x in nums:
if x % 2 == 0:
num1.append(x)
print(num1)
# 练习2:提取nums中所有元素的个位数
nums = [89, 78, 90, 64, 55, 71, 34]
num2 = []
for x in nums:
num2.append(x % 10)
print(num2)
3.2列表.insert(下标, 元素) - 将元素插入到列表中指定下标对应的元素前
4、删 - 删除列表中的某个元素
4.1del 列表[下标] - 删除列表中指定下标对应的元素
movies = ['复仇者联盟', '盗梦空间', '怦然心动', '绿皮书', '肖生克的救赎', '触不可及']
del movies[1]
print(movies) #'盗梦空间', '怦然心动', '绿皮书', '肖生克的救赎', '触不可及'
4.2列表.remove(元素) - 删除列表中指定元素(如果元素有多个,会删最前面的那一个)
4.3 pop
- 列表.pop() - 取走列表中最后一个元素并且返回
- 列表.pop(下标) - 取走列表中指定下标对应的元素并且返回
5、改 - 修改某个元素的值
5.1列表[下标] = 新元素 - 修改列表中指定下标对应的元素为新元素
movies = ['复仇者联盟', '盗梦空间', '怦然心动', '绿皮书', '盗梦空间', '肖生克的救赎', '触不可及']
movies[1] = '阿甘正传'
print(movies) #'复仇者联盟', '阿甘正传', '怦然心动', '绿皮书', '盗梦空间', '肖生克的救赎', '触不可及'
素的值
5.1列表[下标] = 新元素 - 修改列表中指定下标对应的元素为新元素
movies = ['复仇者联盟', '盗梦空间', '怦然心动', '绿皮书', '盗梦空间', '肖生克的救赎', '触不可及']
movies[1] = '阿甘正传'
print(movies) #'复仇者联盟', '阿甘正传', '怦然心动', '绿皮书', '盗梦空间', '肖生克的救赎', '触不可及'