Python是一种清晰易懂的进阶编程语言,它在处理分支、循环和遍历时提供了高效而自然的操作方式。
Python中的分支语法以 if
开始,举例如下:
x = 10 # 变量 x = 10
if x > 0: # 如果 x 大于0, 输出"x是正数"的结果
print("x是正数")
执行结果:
x是正数
使用 else
,尽管不满足条件也有一个以下分支:
x = -10
if x > 0: # 如果 x 大于 0 输出 x是正数
print("x是正数")
else: # 否则 (代表上述条件均不满足), 输出: x不是正数
print("x不是正数")
执行结果:
x不是正数
对于多个条件,使用 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是负数")
以下是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 |
Python 简洁的 for
进行循环操作:
for i in range(5):
print(i)
这里的 range(5)
生成了 0-4 数字。
循环以特定条件为结束标准:
index = 0
while index < 5: # 满足index值 小于 5 情况, 会继续执行代码.
print(index) # 输出 当前index值
index += 1 # 循环进入,执行到这里时 index值自身+1.
for
。while
。使用 break
和 continue
:
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
通过字符串进行遍历:
s = "Python"
for char in s:
print(char)
执行结果:
P
y
t
h
o
n
什么是集合请看这个: 点击查看: 列表、元组、字典和集合的教程
对于集合数据结构:
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}")
列表过滤例子:获得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]
数据表格:行列乘法, 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
lst = ['a', 'b', 'c']
for i, val in enumerate(lst):
print(f"Index: {i}, Value: {val}")
height = 5
for i in range(1, height + 1):
print(' ' * (height-i) +'*' * i + '*' * (i-1))
执行输出:
*
***
*****
*******
*********