您的位置:首页 > 编程语言 > Python开发

python的循环语句

2017-10-03 18:58 211 查看
1,while 语句

语法:

while 条件(判断 变量是否满足条件):
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...

修改变量


话不多,上代码:

# 1. 定义重复次数计数器
i = 1
# 2. 使用 while 判断条件
while i <= 5:
# 要重复执行的代码
print("龟派气功波!!!")
# 处理计数器 i
i = i + 1


console:
龟派气功波!!!
龟派气功波!!!
龟派气功波!!!
龟派气功波!!!
龟派气功波!!!


还有一件事:

千万别忘了修改变量

语句中的缩进部分是一个 独立的代码块

示例:

计算 0 ~ 100 之间所有数字的累计求和结果
i = 1
sum = 0
while i <= 100:
sum = sum + i
i += 1

print("1~100的累积和为:%d"%sum)


2,for循环语句

可迭代对象:

指的是存在不重复的遍历其内部每一个子项的方法,比如列表,字典,字符串等等。

(通俗讲就是可以被遍历的对象,就像一串冰糖葫芦,可以按一定的顺序取出每一个山楂粒,冰糖葫芦就是可迭代对象)

语法:

for 迭代变量 in 可迭代对象:
迭代变量存在时执行的语句


补充:

for循环会访问一个可迭代对象(例如序列或是迭代器)中的所有元素,,并在所有条目都处理过后结束循环。

range()函数:

range()函数要求提供两个或三个整数参数:range(start, end, step =1),range()会返回一个包含所有k的列表,其中start <= k < end,从start到end ,k每次递增 step,step不可以为零,否则将发生错误。

range() 还有两种简略的语法格式:range(end)和range(start, end)。 start 默认为0, step默认为1。

有了这个理论基础就可以上代码了:

例子1:

name = 'python'
for x in name:
print(x)


console:
p
y
t
h
o
n


例子2:

for count in range(5):
print("龟派气功波!!!")


注意:range函数从0开始迭代,不包含5,这里省略了初始值。

龟派气功波!!!
龟派气功波!!!
龟派气功波!!!
龟派气功波!!!
龟派气功波!!!


与while循环对比一下:

i = 1
while i <= 5:
print("龟派气功波!!!")
i = i + 1


这就是效率啊!!!

示例:

#  计算 0 ~ 100 之间所有数字的累计求和结果
sum = 0
for number in range(1,101):
sum += number
print("1~100的累积和为:%d" % sum)


1~100的累积和为:5050


代码解析:这里使用number变量用于接收每次循环range函数抛出的数据,之后将number的值都通过赋值运算符赋给sum

由于range函数的取值不包含第二个参数,所以要在想取得值上加1

3,while循环的嵌套

while 嵌套就是:while 里面还有 while

语法:

while 条件 1:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...

while 条件 2:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...

处理条件 2

处理条件 1


代码示例1:

i = 1
while i <= 5: # 外层循环控制行数
z = 1
while z <= 5: # 内层循环控制列数
print("# ", end='')
z += 1 # 内层循环自增1
print()
i += 1
print("正方形打印完成!!!")


console:
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #
正方形打印完成!!!


代码解析:

在这个循环中,外层循环控制行数,内层循环控制列数,

“print(“# “, end=’ ‘)”这句代码的第一个参数是字符串,第二个代码是字符串后的分隔符,表示分隔符是一个空格,如果不写,默认则是换行(\n)。

代码示例2:

1,while循环:

i = 1
while i <= 5:
z = 1
while z <= i:
print("# ", end='')
z += 1
print()
i += 1
print("三角形打印完成!!!")


2,for循环:

for row in range(5):
for column in range(row+1):
print("# ", end='')
print()
print("三角形打印完成!!!")


console:
#
# #
# # #
# # # #
# # # # #


留一点想象空间,这里的解析走丢了。。。。

另外还有一个小的变种:

i = 1
while i <= 5:
z = 1
while z <= i:
print("@ ", end='')
z += 1
print()
i += 1

i = 4
while i >= 1:
z = 1
while z <= i:
print("# ", end='')
z += 1
print()
i -= 1


console:
@
@ @
@ @ @
@ @ @ @
@ @ @ @ @
# # # #
# # #
# #
#


示例3:

打印乘法口诀表:

while循环版本:

row = 1
while row <= 9:
column = 1
while column <= row:
print("%d*%d = %d" % (column, row, row * column), end='')
column += 1
print()
row += 1


for循环版本:

row = 1
for a in range(1, 10):
column = 1
for b in range(1, a+1):
print("%d*%d = %d" % (column, row, row*column), end='  ')
column += 1
print()
row += 1


console:
1*1 = 1
1*2 = 2  2*2 = 4
1*3 = 3  2*3 = 6  3*3 = 9
1*4 = 4  2*4 = 8  3*4 = 12  4*4 = 16
1*5 = 5  2*5 = 10  3*5 = 15  4*5 = 20  5*5 = 25
1*6 = 6  2*6 = 12  3*6 = 18  4*6 = 24  5*6 = 30  6*6 = 36
1*7 = 7  2*7 = 14  3*7 = 21  4*7 = 28  5*7 = 35  6*7 = 42  7*7 = 49
1*8 = 8  2*8 = 16  3*8 = 24  4*8 = 32  5*8 = 40  6*8 = 48  7*8 = 56  8*8 = 64
1*9 = 9  2*9 = 18  3*9 = 27  4*9 = 36  5*9 = 45  6*9 = 54  7*9 = 63  8*9 = 72  9*9 = 81


代码解析:

由于跟打印三角形的原理一样,所以这里就不再赘述了。

3,中断语句

A:break语句

定义:某一条件满足时,不再执行循环体中后续重复的代码,直接退出循环。

代码示例:

i = 0
while i <= 5:
if i == 3:
break
print("brek后面的语句当然也不会执行了")
else:
print(i)
i += 1
print("over")


console:
0
1
2
over


B:continue语句

定义:某一条件满足时,不再执行本次循环体中后续的代码,返回到循环体的头部,开始下一次循环。

代码示例:

i = 1
while i <= 5:
# 当 i == 3 时,不希望执行后续的代码
if i == 3:
# 在使用 continue 之前,同样应该修改计数器
# 否则会出现死循环
i += 1
continue
else:
#  重复执行的代码
print(i)
i += 1


console:
1
2
4
5


代码解析:

在continue之前一定要修改计数器,不然程序执行到此,一定会出现死循环。

特别注意:

break 或 continue在嵌套循环中,只对最近的一层循环起作用

4,字符串中的转义字符:

制表符的功能:在不使用表格的情况下在垂直方向按列对齐文本

\t 在控制台输出一个 制表符,协助在输出文本时 垂直方向 保持对齐,但不会换行。

\n 在控制台输出一个换行符

\ ——反斜杠符号

\’ ——单引号

\” ——双引号

\n ——换行

\t ——横向制表符

\r ——回车

写代码咋会不开森呢?
有一个妹子发了个朋友圈:真羡慕你们这群女人,都有老公养着,而我就不同了,
我是别人老公养着,还不怕被人骂!朋友圈被她妈看到了,过了一会,她妈就来
她房间了:“你再不找个人嫁了,我老公也不养你了!”


ok,今天就到这里,循环语句写完了,欢迎指正!=^_^= 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: