"""
特点:减少冗余代码,提升代码效率
语法:
while 条件表达式
code1
(1)初始化一个变量
(2)写上循环的条件
(3)自增自减的值
"""
2.1 while练习
# (1) 打印1~100
i = 1while i <= 100:
print(i)
i += 1# (2) 1~100的累加和
i = 1
total = 0while i <= 100:
total += 1
i += 1print(total)
# (3)用死循环的方法实现1~100累加和
i = 1
total = 0
sign = Truewhile sign:
total += i
i += 1if i == 101:
sign = Falseprint(total)
# (4) 打印一行十个小星星*"""
# help 查看某个方法的文档
# help(print)
# end='' 打印时,尾部默认不加换行
"""
i = 0while i < 10:
print("*",end='')
i += 1print()
# (5) 九九乘法表# 正向打印
i = 1while i <= 9:
j = 1while j <=i:
print("%d*%d=%2d " %(i,j,i*j),end="")
j += 1print()
i += 1# 反向打印
i = 9while i >= 1:
j = 1while j <=i:
print("%d*%d=%2d " %(i,j,i*j),end="")
j += 1print()
i -= 1# (6)求吉利数字100~999之间找111 222 333 123 456 654 321..."""
// 可以获取一个数高位
% 可以获取一个数低位
"""# 方法1
i = 100while i <= 999:
baiwei = i //100
shiwei = i //10%10
gewei = i % 10print(gewei)
if shiwei == gewei and shiwei == baiwei:
print(i)
# 123elif shiwei == gewei -1and shiwei == baiwei +1:
print(i)
# 987elif shiwei == gewei + 1and shiwei == baiwei -1:
print(i)
i += 1# 方法2
i = 100while i<= 999:
strvar = str(i)
gewei = int(strvar[-1])
shiwei = int(strvar[1])
baiwei = int(strvar[0])
if shiwei == gewei and shiwei == baiwei:
print(i)
# 123elif shiwei == gewei - 1and shiwei == baiwei +1:
print(i)
# 987elif shiwei == gewei +1and shiwei == baiwei -1:
print(i)
i+=1
3.for循环
# 遍历 循环 迭代 ,把容器中的元素一个一个获取出来# while循环在遍历数据时的局限性"""
lst = [1,2,3,4,5]
i = 0
while i <len(lst):
print(lst[i])
i +=1
# for循环的基本语法
Iterable 可迭代数据:容器类型数据 range对象 迭代器
for 变量 in Iterable:
code1
# 字符串
count = "北京天气很好"
for i in count:
print(i)
# 列表
count = [1,2,3,"中","22"]
for i in count:
print(i)
# 元组
count = (1,2,3,"中","22")
for i in count:
print(i)
# 集合
count = {1,2,3,"中","22"}
for i in count:
print(i)
count = {"a":1,"b":2,"c":3}
# 字典 (循环的是字典的键)
for i in count:
print(i)
"""# 1.遍历不等长多级容器"""
cont = [1, 2, 3, 4, ("大", "567"), {"jw", "type", "iok"}]
for i in cont:
# 判断当前元素是否是容器,如果是,进行二次遍历,如果不是,直接打印
if isinstance(i, tuple):
#
for j in i:
# 判断当前元素是否是集合,如果是,进行三次遍历,如果不是,直接打印
if isinstance(j, set):
for k in j:
print(K)
else:
print(j)
# 打印数据
else:
print(i)
"""# 2.遍历不等长多级容器
container = [("小", "大", "知道"), ("大学", "新思想", "属性"), ("sww",)]
for i in container:
for j in i:
print(j)
# 3.遍历等长的容器
cont = [("马云","小马哥","马化腾"),["王思聪","王健林","马保国"],{"王宝强","马蓉","宋小宝"}]
for a,b,c in cont:
for j in a,b,c:
print(j)
# ### range对象"""
range(开始值,结束值,步长)
取头舍尾,结束值本身获取不到,获取到它之前的那一个数据
"""# range(一个值)for i inrange(5): #0~4print(i)
# range(二个值)for i inrange(3,8):
print(i)
# range(三个值) 正向的从左到右for i inrange(1,11,3):
print(i)
# range(三个值) 正向的从右到到for i inrange(10,0,-1):
print(i)
"""
while 一般用于处理复杂的逻辑关系
for 一般用于迭代数据
"""# 九九乘法表for i inrange(1,10):
for j inrange(1,i+1):
print("%d*%d=%2d " %(i,j,i*j),end="")
print()
4.关键字
# ### 关键字的使用 pass break continue# pass过(占位用)if20 == 20:
passwhileTrue:
pass# break 终止当前循环# 1~10 遇到5终止循环
i =1while i <= 10:
print(i)
if i == 5:
break
i +=1
i = 1while i<=3:
j = 1while j <=3:
if j == 2:
breakprint(i,j)
j +=1
i +=1# continue 跳过当前循环,从下一次循环开始# 打印 1~100 跳过5
i =1while i<=10:
if i ==5:
# 在跳过之前,因为会终止执行后面的代码,从下一次循环开始# 为了避免死循环,手动加1
i+=1continueprint(i)
i+=1# 1~100 打印所有不含有4的数字
i =1while i<=100:
strvar = str(i)
print(strvar)
if"4"in strvar
i+=1continueprint(i)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界