Python 分支和循环操作教程

Python入门教程:分支和循环操作

Python是一种清晰易懂的进阶编程语言,它在处理分支、循环和遍历时提供了高效而自然的操作方式。


一、分支操作

1.1 基础 if 语法

Python中的分支语法以 if 开始,举例如下:


x = 10     # 变量 x = 10
if x > 0:  # 如果 x 大于0, 输出"x是正数"的结果
    print("x是正数")

执行结果:

x是正数
1.2 if-else 分支

使用 else,尽管不满足条件也有一个以下分支:

x = -10
if x > 0: # 如果 x 大于 0 输出 x是正数
    print("x是正数")
else:     # 否则 (代表上述条件均不满足), 输出: x不是正数
    print("x不是正数")

执行结果:

x不是正数
1.3 if-elif-else 式分支

对于多个条件,使用 elif 来增强逻辑。

if 条件1 : 如果 满足条件1,执行下面的代码块. (不满足不执行)
    ....省略的代码块;
elif 条件2 : 否则, 如果满足条件2, 执行下面代码块. 
    ....省略的代码块;
elif 条件3 : 否则仍还不满足, 如果满足条件3, 执行下面代码块.
    ....省略的代码块;
else : 否则, 上述全都不满足的情况, 执行下面的代码块
    ....省略的代码块;

例如:

x = 0
if x > 0:
    print("x是正数")
elif x == 0:
    print("x是0")
else:
    print("x是负数")
1.4 条件符号表格

以下是Python中常见条件符号及其含义:

条件符号 含义 示范
> 大于 a > 10
< 小于 a < 0
>= 大于等于 a >= 100
<= 小于等于 a <= -1
== 等于 a == 1
!= 不等于 a != b
and a >= 0 and a <= 9
or a == 1 or b == 2
not 非/取反 not a == 1 ,相当于 a != 1

二、循环操作

2.1 for 循环

Python 简洁的 for 进行循环操作:

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

这里的 range(5) 生成了 0-4 数字。

2.2 while 循环

循环以特定条件为结束标准:

index = 0
while index < 5: # 满足index值 小于 5 情况, 会继续执行代码.
    print(index) # 输出 当前index值
    index += 1   # 循环进入,执行到这里时 index值自身+1.
2.3 选择 for 和 while
  • 循环次数确定时使用 for
  • 条件不确定时使用 while
2.4 退出和跳过

使用 breakcontinue

for i in range(10):
    if i == 5:  # i等于5时, break(跳出当前到for循环代码), 
        break   # 停止当前for循环
    print(i)  # 只打印 0-4
# 输出: 0 1 2 3 4


for i in range(5):
    if i == 3:   # i等于3 执行下面的代码. 
        continue # 仅当前i=3时, 后续逻辑不执行, 跳过. 
    print(i)  # 不打印 3
# 输出 0 1 2 4 5 

更多解释:

当多个for嵌套适合, break 跳出的时, 是break所在for这一层终止. 不影响外层的for.

for i in range(10): 
    for x in range(5): 
        if x == 2: 
            break # 仅终止的是 for x in range(5):  # 循环. 外层循环无影响.
    print(i) # 外层的循环输出, 结果: 0 1 2 3 4 5 6 7 8 9


三、遍历

3.1 字符串

通过字符串进行遍历:

s = "Python"
for char in s:
    print(char)

执行结果:

P
y
t
h
o
n
3.2 列表和连表

什么是集合请看这个: 点击查看: 列表、元组、字典和集合的教程

对于集合数据结构:

lst = [1, 2, 3, 4]
for item in lst:
    print(item)

以及解构元组:

pairs = [(1, 'a'), (2, 'b')]
for num, letter in pairs:
    print(f"{num} -> {letter}")

四、实例

实例 1:

列表过滤例子:获得numbers集合的偶数.

numbers = [1, 2, 3, 4, 5]
# 与2取余数能除尽偶数
filtered = [n for n in numbers if n % 2 == 0] 
print(filtered)  # 返回 [2, 4]

或 结果同上.

numbers = [1, 2, 3, 4, 5]
filtered = []
for num in numbers : 
    if num % 2 == 0 : 
        filtered.append(num)

print(filtered) # 输出 [2, 4]

实例 2:输出表格

数据表格:行列乘法, 1x1=1, 2x2=3, 3x5=15

for i in range(1, 6): # 循环 1,2,3,4,5
    for j in range(1, 6):  # 循环 1,2,3,4,5
        print(i * j, end="\t") # end 输出后的结束符合用制表符分割
    print()

模拟代码执行过程(讲解执行过程, 不是输出)

第一次执行: 循环 i = 1, 进入内循环执行j=1,2,3,4,5 (循环5次)
第一次计算: 1x1	1x2	1x3	1x4	1x5
第二次执行: 循环 i = 2, 进入内循环执行j=1,2,3,4,5 (循环5次)
第一次计算: 2x1	2x2	2x3	2x4	2x5
.....以此类推

最终执行输出如下:

1	2	3	4	5	
2	4	6	8	10	
3	6	9	12	15	
4	8	12	16	20	
5	10	15	20	25	
实例 3:同时列出数据和数据下标
lst = ['a', 'b', 'c']
for i, val in enumerate(lst): 
    print(f"Index: {i}, Value: {val}")
实例 4:循环获得一个金字塔
height = 5
for i in range(1, height + 1):
    print(' ' * (height-i) +'*' * i + '*' * (i-1))

执行输出:

    *
   ***
  *****
 *******
*********

你可能感兴趣的:(python,python,开发语言)