https://www.bookstack.cn/read/Python-100-Days/Day01-15-04.循环结构.md
- 循环结构
循环结构的应用场景
for-in循环
while循环
练习
应用场景:
需要重复执行某条指令。
说明: range()
range 用来产生一个不变的数值序列,而却这个数值序列通常是用在循环中的,
range(101) 产生以个 0 到 100的整数序列
range(1,100) 产生一个 1 到 99 的整数序列
range(1,100,2) 产生一个 1到99 的奇数序列 过程, 从一开开始,以2为步长,产生整数序列 所以
range(2,100,2)就可以产生一个 1到99 的偶数序列
所以上面的程序如果要计算 1到100
需要
sum = 0
for x in range(101)
sum += x
print(sum)
类推-----------计算1-100的偶数和
可以在循环中使用分支结构的方式来实现相同功能
说明:
偶数 必然是以2为mod(模) 的
if x % 2 == 0:
sum += x
如果循环到偶数 我们就加起来
while循环
与for循环相比,如果我们要构造不知道具体循环多少次的循环结构,我们推荐使用while循环,while循环通过一个可以转换处布尔的表达式来控制循环,
猜数值小游戏
说明 :
%d 代表十进制 整型数字,
break关键字可以终止所在的循环
continue可以放弃本次循环循环会进行到下一轮,本次循环continue以后的代码不会执行
下一个例子
求素数
求素数 对一个数开方后的数1,对这个数1进行遍历,每一次遍历判断是否是数1的倍数。
求两个数的最大公约数,和最小公倍数
说明:
x,y = y,x 交换变量,使x变量总是最小的,
遍历一 最大值是x的 最小值是0 的序列 改变量为-1 ,迭代器是 factor
如果x和y同时是factor倍数,则输出factor
然后退出循环
遍历一个 最小值是 y,最大值是yx,改变为y,迭代器为i
如果i是x的倍数,
输出i ,退出循环
打印各种三角形
便利一个max:row-1 min:0 改变量: 1,迭代器为 i
没迭代一次中,迭代一个 max:i-1 min: 0 改变:1 ,
第二个迭代中,每次答应print("",end = ‘’)
end是print()函数的一个参数。end 是输出语句结束以后附加的字符串,它的默认值是换行(’\n’)。
遍历 0 到 row-1(i)
每一个遍历,再遍历一个 0 到 row-1(j)
如果 j < row - i -1
print(" ")
f否则 print(“*”)
遍历row次,(i) 0 1 2 3 …row-1
每次,遍历row-i-1次,
打印 “ ” 相当于 打印 row - i -1 次
遍历 2i+1次
打印 “”
row = int(input("请输入行数"))
for i in range(row):
for _ in range(i+1):
print('*',end='')
print()
for i in range(row):
for j in range(row):
if j < row - i -1:
print(" ",end='')
else:
print("*",end='')
print()
for i in range(row):
for _ in range(row - i - 1):
print(" ",end="")
for _ in range(2*i + 1):
print("*",end="")
print()
F:\数据结构\venv\Scripts\python.exe F:/数据结构/python100/练习三.py
请输入行数 7
*
**
***
****
*****
******
*******
*
**
***
****
*****
******
*******
*
***
*****
*******
*********
***********
*************
Process finished with exit code 0