python进阶,在第一期的基础上做了极大的优化,整体更加美观易懂
五、for循环(上)
内容较多,分为上下两个篇幅,此篇是上
5.1、for循环,控制代码重复执行
for循环作用,控制代码重复执行
# 语法
for 临时变量 in(关键字) 序列(列表,元组,字典,集合,字符串)
重复执行的代码
重复执行的代码i
.....
例:字符串
str1 = "狂徒张三"
for i in str1:
print(i)
>>> 结果:
>>> 狂
>>> 徒
>>> 张
>>> 三
又或者: 列表
list1 = [16, "张三", 100]
for j in list1:
print(j)
>>> 结果:
>>> 16
>>> 张三
>>> 100
5.2、range 函数
# for循环1到10相加偶数和
# range -> 功能函数
#range(start, stop[, step])
# start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
# stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 结果是[0, 1, 2, 3, 4]没有5
# step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
# 例如: range(0, 10)
# 生成0到9一共10个数字,即从0开始到9,括号内第二个数字10为结束位置,不计入
for i in range(0, 10): # 注:第二个数字是10,即最大为9
print(i)
# 结果:
>>> 0
>>> 2
>>> 3
>>> 4
>>> 5
>>> 6
>>> 7
>>> 8
>>> 9
# for 循环输出1到100所有偶数和,使用range函数
j = 0 # 初始化
for i in range(0, 101):
if i % 2 == 0: # 判断是否能被2除尽,如果能就是偶数
j += i # 等同于:j = j + i 把两边的值相加之后,赋值给左边的变量
print(j)
# 结果:
>>> 2550
# 例如: range(0, 10, 2) # 生成0,2,4,6,8一共5个数字,即从第一个数字0开始,每次加2(步长),到9(第二个数字为结束位置不取,所以只会到9,可理解为第一个数字到第二个数字减一,即10-1)
for i in range(0, 11, 2): # 注:第二个数字是11,即最大为10
print(i)
# 结果:
>>> 0
>>> 2
>>> 4
>>> 6
>>> 8
>>> 10
# for 循环输出1到100所有偶数和,使用range函数
j = 0
for i in range(0, 101, 2): # 偶数由步长判读,从0开始,每次加2
j += i #等同于: j = j + i
print(j)
# 结果:
>>> 2550
5.3、break和continue
break->当条件成立时,终止整个循环,直接结束循环。
continue->当条件成立时,跳过当前循环,继续执行下一个循环
5.3.1、break 的使用
break->当条件成立时,终止整个循环,直接结束循环。
# 吃鸡不带吧,文明你我他!
str1 = "大吉大利,今晚吃鸡吧!"
for o in str1:
if o == "吧":
break # 观察结果,遇到”吧“字后直接终止循环,感叹号(!)也未打印
print(o)
# 结果:
>>> 大
>>> 吉
>>> 大
>>> 利
>>> ,
>>> 今
>>> 晚
>>> 吃
>>> 鸡 # 注意后面没有感叹号,感叹号丢失
5.3.2、continue 的使用
continue->当条件成立时,跳过当前循环,继续执行下一个循环
"""
同样的药方,依旧是吃鸡
"""
str1 = "大吉大利,今晚吃鸡吧!"
for o in str1:
if o == "吧":
continue # 观察结果,遇到”吧“字后跳过该次循环循环,感叹号(!)继续打印
print(o)
# 结果:
>>> 大
>>> 吉
>>> 大
>>> 利
>>> ,
>>> 今
>>> 晚
>>> 吃
>>> 鸡
>>> !