Featured image of post 循环

循环

循环

为了让计算机能计算成千上万次的重复运算,我们就需要循环语句

1
2
3
4
5
6
7
names = ['Michael,'Bob','tracy']
for name in name
    print(name)
    
Michael
Bob
Tracy

​ 其中 for name in 中表示 ‘ name ‘元素中每一个元素

​ 计算1-10的整数之和 sum变量做累加

1
2
3
4
sum = 0
for x in [1,2,3,4,5,6,7,8,9,10]:
    sum = sum + x
print(sum)

range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数

1
2
list(range(5))
[0,1,2,3,4]

while循环

while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现

1
2
3
4
5
6
7
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)
    

循环依次对list中的每个名字打印出Hello, xxx!

1
2
3
L = ['Bart', 'Lisa', 'Adam']
for L in name
print(f'hello,{name}!)

关于f

(f 是 format(格式化) 的缩写。

f'Hello, {name}!' 是 Python 3.6 版本引入的一种语法,正式名称叫 f-string(格式化字符串字面量)。

它的核心作用是:在字符串中直接嵌入变量或表达式,而不需要像之前那样用加号(+)拼接。

1. 具体含义拆解

  • f:告诉 Python 解释器,这是一个“格式化字符串”。
  • '...':字符串内容。
  • {name}:花括号 {} 里面的内容会被当作普通的 Python 代码执行,并将计算结果替换到字符串中。

2. 对比老方法(为什么用 f)

写法代码特点
拼接法'Hello, ' + name + '!'加号多,容易漏掉空格,较繁琐。
传统格式化'Hello, %s!' % name需要记占位符(%s),变量多时容易对错位置。
f-string(你问的)f'Hello, {name}!'最直观,变量写在哪就显示在哪,一目了然。

3. 进阶用法(花括号里不仅能放变量)

因为 {} 内会执行 Python 代码,所以你可以直接写运算或调用方法:

1
2
3
4
5
6
7
8
9
# 直接做运算
print(f'明年我就 {18 + 1} 岁了')  # 输出:明年我就 19 岁了

# 调用字符串方法
name = 'adam'
print(f'首字母大写:{name.capitalize()}')  # 输出:首字母大写:Adam

# 调用函数
print(f'列表长度是 {len([1,2,3])}')  # 输出:列表长度是 3

⚠️ 注意事项

  • f 必须紧贴在引号前面,中间不能有空格(f 'Hello' 会报错)。
  • 如果字符串内部需要显示花括号本身(比如字典),需要写双花括号 {{ 和 }}:
    1
    
    print(f'字典显示:{{"key": 1}}')  # 输出:字典显示:{"key": 1}
    

这种写法是现在 Python 最推荐、最主流的字符串格式化方式,既清晰又高效(执行速度比拼接和 % 格式化都快)。)

1
2
3
L = ['Bart', 'Lisa', 'Adam']
for L in name
print('Hello,' + name + '!')

continue

continue语句跳过某些循环

1
2
3
4
5
6
n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0:# 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)

break

1
2
3
4
5
6
7
n = 1
while n <= 100  # 只要 n ≤ 100 就一直循环
    if n > 10 :# 当n = 11时,条件满足,执行break语句
        break # 立刻跳出整个 while 循环(不再执行后续代码)
    print(n) # 打印当前的 n
    n = n + 1 # n 增加 1
print('end') # 循环结束后打印 END

逐轮执行流程(盯着 print 看)

  • 第1轮循环:执行到 print(n) → 此时 n=1,屏幕显示 1 → 接着执行 n=n+1,n 变成 2(但屏幕没反应)。
  • 第2轮循环:再次执行到 print(n) → 此时 n 已经是 2,屏幕显示 2 → 接着执行 n=n+1,n 变成 3。
  • 第3轮循环:再次执行到 print(n) → 此时 n 已经是 3,屏幕显示 3 ..
Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 Stack 由 Jimmy 设计