Python 循环

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在一个气候已经发生变化,冰覆盖了地球大部分表面的遥远未来,你发现自己扮演着冰河时代编年史家的角色。你的任务是记录冰层中的模式,对揭示世界气候历史的不同冰层厚度进行编目。为了完成这项至关重要的任务,你将需要利用 Python 的强大功能以及 for 循环结构提供的迭代能力——你的数字冰芯钻探工具。这不仅将使我们能够了解过去,还能通过分析和预测冰层增长模式,为我们的未来做好准备。你能应对这个挑战,帮助揭开被时间冻结的秘密吗?


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/ControlFlowGroup -.-> python/for_loops("For Loops") subgraph Lab Skills python/for_loops -.-> lab-271556{{"Python 循环"}} end

探索冰层厚度

在这一步中,你将学习如何使用 for 循环来处理冰层厚度测量值列表。想象一下,你得到了一个表示岩芯样本中不同冰层厚度的列表。让我们来计算这些冰层的平均厚度。

在编码之前,请确保你处于工作目录 /home/labex/project 中。

现在,打开 ice_thickness.py 并编写以下 Python 代码来计算平均厚度。

## ice_thickness.py

## 表示冰层厚度(单位:毫米)的示例数据
ice_layers = [120, 150, 90, 200, 180, 75, 140]

## 将总厚度初始化为 0
total_thickness = 0

## 使用 for 循环将厚度相加
for layer in ice_layers:
    total_thickness += layer

## 计算平均厚度
average_thickness = total_thickness / len(ice_layers)

## 打印出平均厚度
print(f"冰层的平均厚度是 {average_thickness} 毫米。")

要执行代码,请在终端中运行此命令:

python ice_thickness.py

你应该会看到打印出的冰层平均厚度结果:

冰层的平均厚度是 136.42857142857142 毫米。

预测未来冰层增长

作为一名冰情编年史家,让我们继续前行,使用 for 循环来预测冰层的增长情况。

之前,你计算了冰层的平均厚度。现在,利用这些数据来预测未来冰层的增长。我们将假设冰层厚度每年以一定的百分比增长。

接下来,在 /home/labex/project/predict_growth.py 中编写以下代码来预测未来五年的冰层厚度:

## predict_growth.py

## 冰层的平均厚度(来自第一步)
average_thickness = 136.42857142857142  ## 替换为你计算出的值

## 预测模型,假设冰层厚度每年增长 4%
growth_rate = 0.04

## 预测未来五年的冰层厚度
for year in range(1, 6):
    future_thickness = average_thickness * ((1 + growth_rate) ** year)
    print(f"第 {year} 年:{future_thickness:.2f} 毫米")

使用以下命令执行此代码:

python ~/project/predict_growth.py

你将看到未来五年中每年预测的冰层厚度:

第1年: 141.89毫米
第2年: 147.56毫米
第3年: 153.46毫米
第4年: 159.60毫米
第5年: 165.99毫米

总结

在这个实验中,我们通过成为一名冰河时代编年史家,深入探索了 Python 中 for 循环的应用。我们首先处理了代表冰层的实际数据,以计算平均厚度。在掌握了这一基础技能后,我们利用 Python 的强大功能来预测冰层未来的变化,模拟其随时间的增长模式。通过掌握 for 循环,我们不仅模拟了过去的情况,还展望了未来,这是理解气候变化的关键方法。