大爽Python入门公开课教案

点击查看教程总目录

1. 求和

使用循环,计算列表所有项的和,并输出这个和。

列表示例

lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, 11]

实现代码如下

lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, 11]

s = 0
for item in lst:
s += item print(s)

输出为

98

上面是用for循环实现的,

下面用while来实现下,

lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, 11]

s = 0
i = 0
while i < len(lst):
item = lst[i]
s += item
i += 1 print(s)

输出也是98

拓展说明:很多for循环实现的功能,都可以使用while循环来实现

for循环的特点是遍历可迭代对象。

while循环中,可以添加一个随循环次数增长的index,来实现同样的遍历。

while循环的特点是按条件循环。

for循环去实现按条件来循环,比较难。

2. 寻找最大值

使用循环和判断,寻找出列表的最大值,并输出该最大值及其索引。

列表示例

lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, 11]

思路分析

寻找列表中的最大值及其索引,

一般会选择先将列表开头的项(即第一项)作为最大值初始值。

然后(使用循环)依次用后面的项与该最大值作比较,

如果后面的项比该最大值更大,则更新这个最大值(也更新最大值索引)。

当循环执行完后,列表中的所有项都经过了一轮比较。

此时得到的最大值,必然是列表所有项的最大值。

实现代码如下

lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, 11]

max_index = 0
max_value = lst[max_index]
for i in range(1, len(lst)):
if lst[i] > max_value:
max_index = i
max_value = lst[i] print("Max Value: %s" % max_value)
print("Max Value's index: %s" % max_index)

输出如下

Max Value: 21
Max Value's index: 5

补充分析:

第一题遍历时,直接遍历的列表中的所有的项。

第二题遍历时,遍历的是列表中第二项开始所有项的索引。

什么时候遍历项,什么时候遍历索引,取决与实际情景的需要。

比如第二题是因为要求最后输出时也输出最大项的索引。

3 求加权和

加权和:

比如现有列表[a1, a2, a3], 其权重列表为[w1, w2, w3]

那么其加权和为a1*w1 + a2*w2 + a3*w3

现有数据列表lst和其对应权重列表weights如下

lst = [8, 5, 7, -12, 19, 21, 10, -3, 2, 11]
weights = [1, 2, 5, 3, 4, 6, 8, 7, 2, 4]

lst中数据的加权和。

补充要求:忽略lst中小于0的数据(即不对这些数据算加权,也不计入和)。

代码实现

lst = [8, 5, 7, -12, 19, 21, 10, -3, 2, 11]
weights = [1, 2, 5, 3, 4, 6, 8, 7, 2, 4] s = 0
for i in range(len(lst)):
item = lst[i]
if item >= 0:
weight = lst[i]
v = item * weight
s += v print(s)

输出为1165

上面的if判断是判断的数据大于等于0时才执行。

下面我们用continue实现,数据小于0时跳过。

代码如下

lst = [8, 5, 7, -12, 19, 21, 10, -3, 2, 11]
weights = [1, 2, 5, 3, 4, 6, 8, 7, 2, 4] s = 0
for i in range(len(lst)):
item = lst[i]
if item < 0:
continue weight = lst[i]
v = item * weight
s += v print(s)

大爽Python入门教程 3-4 实践例题的更多相关文章

  1. 大爽Python入门教程 2-5 *拓展实践,对比与思考

    大爽Python入门公开课教案 点击查看教程总目录 本文偏难. 推荐等第一二三四章上完后,回过来拓展阅读. 基础情景思考 假设有这样一张成绩表 最左边的一列是名字,起名麻烦. 这里直接用ABC...来 ...

  2. 大爽Python入门教程 2-3 字符串,列表,字典

    大爽Python入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...

  3. 大爽Python入门教程 1-4 习题

    大爽Python入门公开课教案 点击查看教程总目录 1 [思考]方向变换 小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度), 小明面朝哪里?小明转过了多少圈? (360度为一圈,圈数向 ...

  4. 大爽Python入门教程 3-3 循环:`for`、`while`

    大爽Python入门公开课教案 点击查看教程总目录 for循环 可迭代对象iterable 不同于其他语言. python的for循环只能用于遍历 可迭代对象iterable 的项. 即只支持以下语法 ...

  5. 大爽Python入门教程 3-5 习题

    大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...

  6. 大爽Python入门教程 3-6 答案

    大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...

  7. 大爽Python入门教程 3-1 布尔值: True, False

    大爽Python入门公开课教案 点击查看教程总目录 1 布尔值介绍 从判断说起 回顾第一章介绍的简单的判断 >>> x = 10 >>> if x > 5: ...

  8. 大爽Python入门教程 3-2 条件判断: if...elif..else

    大爽Python入门公开课教案 点击查看教程总目录 简单回顾if 回顾下第一章的代码 >>> x = 5 >>> if x > 0: ... print(&q ...

  9. 大爽Python入门教程 总目录

    作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 大爽Python入门公开课教案 本篇博客为公开课教案目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节, ...

随机推荐

  1. 通过Git在本地局域网中的两台电脑间同步代码

    0.前言 一般情况下同步代码可以通过在GitHub/GitLab等网站新建远程仓库,所有机器都向仓库推送或者从仓库下拉更新. 上述过程步骤也不算复杂,不过有时候我们考虑到仓库的安全性等因素,只想在局域 ...

  2. 【SpringBoot技术专题】「权限校验专区」Shiro整合JWT授权和认证实现

    本章介绍一下常用的认证框架Shiro结合springboot以及集合jwt快速带您开发完成一个认证框架机制. Maven配置依赖 <dependency> <groupId>o ...

  3. FastAPI(58)- 使用 OAuth2PasswordBearer 的简单栗子

    背景 假设在某个域中拥有后端 API(127.0.0.1:8080) 并且在另一个域或同一域的不同路径(或移动应用程序)中有一个前端(127.0.0.1:8081) 并且希望有一种方法让前端使用用户名 ...

  4. Radius协议-学习

    目录 RFC Radius 协议 Radius-学习 RADIUS协议的主要特征 客户端/服务器模式 安全的消息交互机制 良好的扩展性 AAA介绍 C/S结构 RADIUS在协议栈中的位置 RADIU ...

  5. 从零搭建基于webpack的Electron-Vue3项目(1)——基于webpack的Vue3项目搭建

    从零搭建基于webpack的Electron-Vue3项目(1)--基于webpack的Vue3项目搭建 前言 本篇文章内容,主要是基于webpack的Vue3项目开发环境进行搭建,暂时还不涉及到El ...

  6. 那些我用Windows时必备的软件

    那些我用Windows时必备的软件 使用Windows多年来,自己发现了许多不错的小软件,在此做一个备份清单,方便今后装新机. 起源 \(hadow\)ock$ 越过高墙的小飞机 Google Chr ...

  7. 开放下载!2021 解锁 Serverless 从入门到实战大“橙”就

    Serverless 架构即将引领云计算的下一个十年已成行业共识.处于变革中的开发者,大多已从观望状态转向尝试阶段, 越来越多 Serverless 落地场景被解锁. "Serverless ...

  8. wqs二分 学习笔记

    wqs二分学习笔记 wqs二分适用题目及理论分析 wqs二分可以用来解决这类题目: 给你一个强制要求,例如必须\(n\)条白边,或者划分成\(n\)段之类的,然后让你求出最大(小)值.但是需要满足图像 ...

  9. FastAPI 学习之路(二)

    之前的文章已经介绍了如何安装,以及简单的使用,这篇文章呢,我们就不去分享如何安装对应的包了. 我们如何去编写呢,其实很简单,按照下面的步骤,一个简单的基于fastapi的接口就编写完毕. 首先:创建一 ...

  10. Android QMUI实战:实现APP换肤功能,并自动适配手机深色模式

    Android换肤功能已不是什么新鲜事了,市面上有很多第三方的换肤库和实现方案. 之所以选择腾讯的QMUI库来演示APP的换肤功能,主要原因: 1.换肤功能的实现过程较简单.容易理解: 2.能轻松适配 ...