Python基础语法之循环结构

循环结构
  • for in 循环
    • 语法结构
    • 遍历列表
    • 遍历字典
    • 遍历字符串
语法
for 变量 in 集合
	具体操作
解析:针对可迭代对象(集合) 循环的次数,取决于迭代集合的大小
遍历列表
list = [1, 2, 3]
for i in list:
    print(i)
#执行结果:
#1
#2
#3
遍历列表及索引
#遍历列表及索引
list = [1, 2, 3]
for index, name in enumerate(list):
    print(index, name)
#执行结果:
0 1
1 2
2 3
遍历元组
a = ("Python", "Java", "Oracle")
for index, name in enumerate(a):
    print(index, name)
#执行结果:
#0 Python
#1 Java
#2 Oracle
遍历字典
  • items():返回字典内key-value对
  • keys():返回字典内所有key列表
  • values():返回字典中所有value列表
print("=========key value===========")
x = {"张三":16, "李四":18, "王五":22}
for a, b in x.items():
    print(a, b)
print("=========key===========")
for c in x.keys():
    print(c)
print("==========value===========")
for d in x.values():
    print(d)

#执行结果:
=========key value===========
张三 16
李四 18
王五 22
=========key===========
张三
李四
王五
==========value===========
16
18
22

遍历字符串
y = "Hello World Hello Python"
for i in y:
    print(i, end='')

#执行结果:
Hello World Hello Python
  • for in 次数控制
语法结构
range (初始值, 终止值, 步长)   #数值范围:左闭右开 [初始值,终止值)
解析:生成数字列表,可以指定:初始值,终值,步长

循环的次数=(运算结果的终值-运算结果的初始值)/步长+1
range函数
a = range(1, 10, 3)
print(a)
b = list(a)  # 把可迭代的对象转为一个列表
print(b)
#执行结果:
range(1, 10, 3)
[1, 4, 7]

c = range(1, 5)   # 默认步长为1
print(list(c))
#执行结果:
[1, 2, 3, 4]

d = range(5)    # 默认从0开始
print(list(d))
#执行结果:
[0, 1, 2, 3, 4]
循环
#计算1-100的和
sum = 0
for i in range(1,101):
    sum = sum+i
print(sum)
#执行结果:
5050

#计算1-100的和  使用sum()函数
print(sum(range(1,101)))
#执行结果:
5050

#输出1-10内所有的奇数
#方式一 控制步长
for i in range(1, 10, 2):
    print(i, end='')
#执行结果:
13579

#输出1-10内所有的奇数
#方式二  嵌套if判断
for i in range(1, 10):
    if i % 2 == 1:
        print(i, end=',')
#执行结果:
1,3,5,7,9,
  • while循环
语法结构
while 条件表达式:
	循环体
解析:条件为真时,运行循环体,需要注意:最后要让【条件表达式】不成立
数值案例
i = 0
while i < 10:
    i += 1
    print(i, end='-')

#执行结果:
1-2-3-4-5-6-7-8-9-10-
控制案例
# 输出10以内所有奇数 
方法一:控制步长
i = 1
while i < 10:
    print(i, end='')
    i += 2
#执行结果:
13579

#方式二:嵌套if判断
# 输出10以内所有奇数
i = 1
while i < 10:
    if (i % 2 == 1):
        print(i, end='')
    i += 1
#执行结果:
13579


# 空值即为假
name = ""
while not name:
    name = input("姓名不能为空!请输入姓名:")
print("hello", name)

#执行结果:
姓名不能为空!请输入姓名:lilei
hello lilei
  • while遍历
a = [7, 9, 8, 666]
i = 0
while i < len(a):
    print(a[i],end='-')
    i +=1
#执行结果:
7-9-8-666-

#遍历列表,将奇数和偶数分别存放到两个列表中
#方式一
x = [7, 9, 8, 666]
i = 0
jishu = []
oushu = []
while i < len(x):
    a = x[i]
    if a%2 == 0:
        # 这是一个偶数
        oushu.append(a)
    else:
        # 这是一个奇数
        jishu.append(a)
    i +=1
print(jishu)
print(oushu)
#执行结果:
[7, 9]
[8, 666]

#遍历列表,将奇数和偶数分别存放到两个列表中
#方式二
x = [7, 9, 8, 666]
i = 0
jishu = []
oushu = []
while len(x) > 0:
    n = x.pop()
    if(n % 2 == 0):
        oushu.append(n)
    else:
        jishu.append(n)
print(jishu)
print(oushu)
#执行结果
[9, 7]
[666, 8]
  • 跳出循环 break
语法规则
循环 (whilefor-i)
	if 条件表达式
			break
解析:结束循环,完全结束一个循环,跳出循环体
示例
# 判断列表中是否包含 0 元素
x = [7, 9, 8, 666, 5, 0, 2, 1]
flag = 0
number = 1
for i in x:
    print("循环执行第", number, "次")
    if i == 0:
        flag = 1
        break
    number += 1
if flag == 0:
    print("列表中没有0")
else:
    print("列表中有0")
#执行结果:
循环执行第 1 次
循环执行第 2 次
循环执行第 3 次
循环执行第 4 次
循环执行第 5 次
循环执行第 6 次
列表中有0
  • 跳出循环 continue
语法规则
循环 (whilefor-i)
	if 条件表达式
			break
解析:结束循环,忽略档次循环的剩下语句,从下一次执行
示例
# 输出列表中的奇数
x = [7, 9, 8, 666, 5, 0, 2, 1]
for i in x:
    if (i % 2 == 0):
        continue
    else:
        print(i, end='-')
# 执行结果
7-9-5-1-
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lilinwang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值