Python3学习笔记(十一)【循环】

Python3学习笔记(十一)【循环】

Python中的循环语句有forwhile

while循环

Pythonwhile语句的形式为:

while 判断条件:
      语句

同样需要注意冒号跟缩进,在Python没有do...while循环。
以下示例为1到100的总和。

n = 100
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1

print("1 到 %d 之和为:%d" % (n, sum))

输出:

1 到 100 之和为:5050

Tips:
1到100之和还能这么写:

print(sum(range(101)))

无限循环

通过设置条件表达式不为False来实现无限循环。

while True:
    print("Hello World")

将会一直打印Hello World

While循环使用else语句

while...else在条件语句为False时执行else的语句块。

n = 0
while n < 5:
    print("n < 5")
    n += 1
else:
    print("n >= 5")

输出:

n < 5
n < 5
n < 5
n < 5
n < 5
n >= 0

简单语句组

类似if语句的语法,如果while循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:

while True: print("Hello World")

for语句

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

_list = ["a", "b", "c", "d"]
for x in _list:
    print(x)

name = "qfxl"
for s in name:
    print(s)

输出:

a
b
c
d
q
f
x
l

range()函数

如果需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:

for i in range(5):
    print(i)

输出:

0
1
2
3
4

也可以使用range指定区间的值。

for i in range(1, 3):
    print(i)

输出:

1
2

也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做’步长’):

for i in range(0, 10, 3):
    print(i)

输出:

0
3
6
9

for i in range(-10, -100, -30):
    print(i)

输出:

-10
-40
-70

使用range()len()遍历一个序列的索引。

names = ["Anna", "Bruce", "Cinema", "qfxl"]
for i in range(len(names)):
    print(i, names[i])

输出:

0 Anna
1 Bruce
2 Cinema
3 qfxl

还可以使用range()函数来创建一个列表。

li = list(range(5))
print(li)

输出:

[0, 1, 2, 3, 4]

break和continue语句以及循环中的else子句

break语句可以跳出forwhile的循环体,如果你从forwhile循环中终止,任何对应的循环else块将不执行。

for item in "qfxl":
    if item == "x":
        break
    print("当前字母为:", item)

输出:

当前字母为: q
当前字母为: f

continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

for item in "qfxl":
    if item == "x":
        continue
    print("当前字母为:", item)

输出:

当前字母为: q
当前字母为: f
当前字母为: l

循环语句可以用else子句,它在穷尽列表(以for循环)或条件变为False(以while循环)导致循环终止时被执行,但循环被break终止时不执行。
区别:

  • 如果 else 语句和 while 循环语句一起使用,则当条件变为 False 时,则执行 else 语句。
  • 如果 else 语句和 for 循环语句一起使用,else 语句块只在 for 循环正常终止时执行!
for n in range(2, 10):
    for m in range(2, n):
        if n % m == 0:
            print(n, "=", m, "*", n // m)
    else:
        print(n, "是质数")

输出:

2 是质数
3 是质数
4 = 2 * 2
4 是质数
5 是质数
6 = 2 * 3
6 = 3 * 2
6 是质数
7 是质数
8 = 2 * 4
8 = 4 * 2
8 是质数
9 = 3 * 3
9 是质数

pass语句

Pythonpass是空语句,是为了保持程序结构的完整性。
pass不做任何事情,一般用于做占位语句。

while True:
    pass

最小的类。

class EmptyClass:
    pass
for item in "Hello":
    if item == "l":
        pass
        print("执行pass块")
    print("当前字母:", item)

输出:

当前字母: H
当前字母: e
执行pass块
当前字母: l
执行pass块
当前字母: l
当前字母: o

使用enumerate函数进行遍历

_list = ["A", "B", "C", "D", "E", "F"]
for index, item in enumerate(_list):
    print(index, item)

输出:

0 A
1 B
2 C
3 D
4 E
5 F

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值