Python入门之循环控制

2024-01-30 14:23:04 浏览数 (1)

Python入门之循环控制

Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言,本节主要总结Python入门循环控制、Python语言:While,For,if else ,continue和break等内容学习。

While循环语句

简单while语句

当满足条件时,执行循环体:

代码语言:javascript复制
# coding utf-8
count = 5
while count > 0:
    print(count)
    count = count - 1

注:

1)while语句后加冒号:

2)Python通过缩进识别语句块,而不是{ }

3) 如果出现死循环,Ctrl C 快捷键终止

4)在Python中没有do..while循环

输出:

5

4

3

2

1

无限循环

while True : 如在循环输入时使用

代码语言:javascript复制
# coding:utf-8
while True:
    num = int(input("请输入一个数字 :"))
    print("你输入的数字是:", num)

请输入一个数字 :2

你输入的数字是: 2

请输入一个数字 :66

你输入的数字是: 66

while 循环使用 else 语句

代码语言:javascript复制
count = 0
while count < 5:
   print (count, " 小于 5")
   count = count   1
else:
   print (count, " 大于或等于 5")

输出:

0 小于 5

1 小于 5

2 小于 5

3 小于 5

4 小于 5

5 大于或等于 5

for循环语句

简单for循环

代码语言:javascript复制
#  1<=i<5
for i in range(1, 5):
    print(i)

输出:

1

2

3

4

注:

1)如果你需要遍历数字序列,可以使用内置range()函数

2)range(1, 5) 指:1,2,3,4 不包括5

遍历字符串

代码语言:javascript复制
# 遍历序列,列表或字符串
for letter in "Python":
    print(letter)
print("Python")

输出:

P

y

t

h

o

n

Python

遍历list

代码语言:javascript复制
# 直接遍历元素
letterList = ['A', 'B', 'C', 'D', 'E']
for letter in letterList:
    print(letter)

索引迭代:结合range()和len()函数以遍历一个序列的索引

代码语言:javascript复制
# 序列索引迭代
for i in range(len(letterList)):
    print(letterList[i])

均输出:

A

B

C

D

E

if...elif...else 语句

代码语言:javascript复制
if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else:
        语句
elif 表达式4:
    语句
else:
    语句

注:

1)每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。

2)使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。

3)在Python中没有switch – case语句。

举例:

代码语言:javascript复制
num = int(input())
if num % 2 == 0:
    if num % 3 == 0:
        print("你输入的数字可以整除 2 和 3")
    else:
        print("你输入的数字可以整除 2,但不能整除 3")
else:
    if num % 3 == 0:
        print("你输入的数字可以整除 3,但不能整除 2")
    else:
        print("你输入的数字不能整除 2 和 3")

6

你输入的数字可以整除 2 和 3

break和continue语句

(1)break 语句可以跳出 for 和 while 的循环体。

如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

(2)continue语句则跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

代码语言:javascript复制
# break 和 continue 语句
for i in range(1, 5):
    if (i == 2):
        break
    print(i)

输出:

1

代码语言:javascript复制
for i in range(1, 5):
    if (i == 2):
        continue
    print(i)

输出:

1

3

4

循环语句 else 子句

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

计算质数:

代码语言:javascript复制
# For循环使用else语句
# 求a,b数之间的质数
a = 5
b = 10
for num in range(a, b):
    for i in range(2, num):
        if num % i == 0:
            print(num, '=', i, '*', num // i)
            break
    else:
         print(num, '是质数')

输出:

5 是质数

6 = 2 * 3

7 是质数

8 = 2 * 4

9 = 3 * 3

如果不小心把else位置多了个Tab,虽然代码完全一下,只是多了Tab,那就凉了:

代码语言:javascript复制
a = 5
b = 10
for num in range(a, b):
    for i in range(2, num):
        if num % i == 0:
            print(num, '=', i, '*', num // i)
            break
        else:
            print(num, '是质数')

输出:

5 是质数

5 是质数

5 是质数

6 = 2 * 3

7 是质数

7 是质数

7 是质数

7 是质数

7 是质数

8 = 2 * 4

9 是质数

9 = 3 * 3

pass 语句

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

代码语言:javascript复制
for letter in "Python":
    if (letter == 'o'):
        pass
        print('执行pass块')
    print(letter)

输出:

P

y

t

h

执行pass块

o

n

0 人点赞