while循环
补充:字符串的拼接方式
![](https://i-blog.csdnimg.cn/blog_migrate/76c9a5a1246bdfe14914f8bcdc1a4bdc.png)
语法结构:
![](https://i-blog.csdnimg.cn/blog_migrate/80e7234ba548bbc46c53bcd8940b19e9.png)
练习:
打印:
打印:
![](https://i-blog.csdnimg.cn/blog_migrate/4b1b1db21c56b77af847238c8146a3c7.png)
layer = int(input("请输入你要打印的层数:")) #7
index = 0
while index <= layer:
#每层*的个数
j = 1
while j <= index:
print("*",end = "")
j += 1
# print("*"*index)
print()
index += 1
打印九九乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
res = i * j
if res < 10:
print("%s x %s = %s "%(i,j,res),end = "") #进行对齐操作
else:
print("%s x %s = %s "%(i,j,res),end = "")
j += 1
print()
i += 1
for循环
for
循环 一般用的
for in
结构 用来遍历容器
列表:存储多个数据的一个容器
ls = [1,2,3,4]
for in
循环遍历容器里面的元素
语法结构:
for
变量
in
容器:
#
缩进
循环体
ls = [1,2,3,4,5]
for i in ls:
print(i)
结论:for in 循环是用来迭代容器(可迭代的对象 在python中是一种数据类型)
引入一个全新函数
range()
range -----
范围、区间的意思
range(
参数
) ------
表示从
0
开始到参数的一个区间范围内的整数,前闭后开
![](https://i-blog.csdnimg.cn/blog_migrate/e71a8846082e3e46219a7c6b4e02772a.png)
range(参数1,参数2) ------ 表示从参数1开始到参数2的范围,前闭后开
range(参数1,参数2,step)------表示从参数1开始到参数2的范围,数据变化是由step步长决定的,默认step取值是1,step可以取负数,前闭后开
break和continue关键字
for i in range(101):
if i == 50:
break #终止循环
print(i)
for i in range(101):
if i == 50:
continue #跳过本次循环 继续循环
print(i)
pass关键字 ----- 可以使用在任何地方(循环,选择分支、函数等)
for i in range(101):
if i == 50:
pass #如果没有pass会报错
print(i)
一个完整的循环的结构:
for 变量 in range(范围):
#缩进 循环体
else:
循环正常结束后执行的代码
练习:
求 0~100以内所有偶数的和:
sum = 0
for i in range(101):
#判断是不是偶数
if i % 2 == 0:
sum += i
print("所有偶数的和",sum)
打印三角形(等腰三角形)
layer = int(input("请输入你要打印的层数:"))
#每一行
for i in range(1,layer+1):
#计算的是每一行的空格数
space_num = layer - i
for j in range(0,space_num):
print(" ",end="")
#计算每一个的*
start_num = 2 * i - 1
for j in range(0,start_num):
print("*",end="")
print()
打印菱形
layer = int(input("请输入你要打印的层数:"))
while layer % 2 == 0:
layer = int(input("请输入奇数行:"))
#上半部分
for i in range(1,layer//2+2): #多打印一行
#计算的是每一行的空格数
space_num = layer - i
for j in range(0,space_num):
print(" ",end="")
#计算每一个的*
start_num = 2 * i - 1
for j in range(0,start_num):
print("*",end="")
print()
#下半部分
for i in range(layer//2,0,-1):
#计算的是每一行的空格数
space_num = layer - i
for j in range(0,space_num):
print(" ",end="")
#计算每一个的*
start_num = 2 * i - 1
for j in range(0,start_num):
print("*",end="")
print()