Python学习17 : for 循环与“累加” 、if 判断和
前面学习了 for 循环遍历列表、字典等数据的方式。现在接着学习,for 循环与“累加” 、if 判断和“计数器”的结合运用。
一、累加(Accumulation)
在四则运算,计算 a 和 b 的和。表示为a+b,如果列表 中有很多个元素,要求所有元素的和,该怎么操作呢?这种情况可以引入"累加"(Accumulation)的概念。
#累加(Accumulation)这5行代码的功能就是,计算列表中的所有元素的总和并输出。
jdList = [3, 1.5, 4, 2]
total = 0
for price in jdList:
total = total + price
print(total)
![](https://img.haomeiwen.com/i14777386/904cfffb5e1f4015.png)
`for`循环是一种重复执行代码块的控制结构,而计数器则用于跟踪循环执行的次数或者跟踪其他需要计数的事件。
重点概念
1. **`for`循环**:用于遍历序列(如列表、元组、字典、集合)或者迭代某种模式。
2. **计数器**:在循环中用于跟踪迭代次数的变量。
### 简单示例代码
下面是一个使用`for`循环和计数器的示例,我们将计算一个列表中所有数字的总和,并跟踪迭代的次数。
# 初始化计数器和总和变量
counter = 0
total_sum = 0
# 定义一个数字列表
numbers = [10, 20, 30, 40, 50]
# 使用for循环遍历列表
for number in numbers:
# 将当前数字加到总和中
total_sum += number # 等同于 total_sum = total_sum + number
# 增加计数器的值
counter += 1
# 打印最终的计数结果和总和
print("迭代次数:", counter)
print("数字总和:", total_sum)
代码注释
- `counter = 0` 和 `total_sum = 0`:初始化计数器和总和变量。
- `numbers = [10, 20, 30, 40, 50]`:定义一个包含数字的列表。
- `for number in numbers:`:`for`循环,遍历列表`numbers`中的每个元素。
- `total_sum += number`:将当前遍历到的数字加到`total_sum`上。
- `counter += 1`:每次循环迭代,计数器增加1。
- `print`:打印函数,用于输出迭代次数和数字总和。
三、if判断
学习了“累加”和“计数器”的用法后,但是部分情况下,我们不一定会对列表中的每个元素都进行累加,如果只取部分,该怎么处理呢?
numbers = [2,9,11]
for num in numbers:
if num > 3
print(num)
在 for 循环中使用 if 语句时,需要注意缩进。第一个缩进,在前面学过 for 循环中的代码需要增加缩进,表明是一个代码块。第二个缩进,使用 if 语句时,语句里面的内容也需要增加缩进。
使用 for 循环和 if 语句时,需要注意 print() 的位置。
1. 当 print() 在 for 循环中缩进四个空格时,按照代码执行顺序,遍历每个元素后再输出。
2. 当 print() 位置在 if 语句的代码中时,表明 print() 是 if 代码块中的内容。只有在 if 判断的情况成立时,才会执行 print() 。
3. 当 print() 位置与 if 语句缩进相同,按照代码执行的顺序,先执行 if 语句块,然后执行 print() 。因此,这里输出的内容也是列表中所有的元素。
4. 当 print() 位置与 for 循环缩进相同时,按照代码执行顺序,循环结束后,再执行 print() 语句。因此,输出的内容为最终结果。
numbers = [2, 1, 3]
for num in numbers:
if num > 1:
print(num)
被罚了
陈陈和婷婷被罚写单词,他们两个想要比较写的内容是否完全一样。
先定义空字符串,遍历并将列表中的字母拼接在一起,拼接完成后,使用if判断两个人的字符串是否一样。
如果是就输出:赶快写作业,如果不是输出:去找老师评评理。
注意:定义空字符串和拼接字符串知识点,可以点击提示进行学习。
# 假设陈陈和婷婷分别写了两个列表的单词
chen_words = ['apple', 'banana', 'cherry']
ting_words = ['apple', 'banana', 'cherry']
# 定义空字符串
chen_string = ''
ting_string = ''
# 遍历列表并将字母拼接在一起
for word in chen_words:
chen_string += word
for word in ting_words:
ting_string += word
# 使用if判断两个人的字符串是否一样
if chen_string == ting_string:
print("赶快写作业")
else:
print("去找老师评评理")