大爽Python入门教程 3-4 实践例题
大爽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 实践例题的更多相关文章
- 大爽Python入门教程 2-5 *拓展实践,对比与思考
大爽Python入门公开课教案 点击查看教程总目录 本文偏难. 推荐等第一二三四章上完后,回过来拓展阅读. 基础情景思考 假设有这样一张成绩表 最左边的一列是名字,起名麻烦. 这里直接用ABC...来 ...
- 大爽Python入门教程 2-3 字符串,列表,字典
大爽Python入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...
- 大爽Python入门教程 1-4 习题
大爽Python入门公开课教案 点击查看教程总目录 1 [思考]方向变换 小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度), 小明面朝哪里?小明转过了多少圈? (360度为一圈,圈数向 ...
- 大爽Python入门教程 3-3 循环:`for`、`while`
大爽Python入门公开课教案 点击查看教程总目录 for循环 可迭代对象iterable 不同于其他语言. python的for循环只能用于遍历 可迭代对象iterable 的项. 即只支持以下语法 ...
- 大爽Python入门教程 3-5 习题
大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...
- 大爽Python入门教程 3-6 答案
大爽Python入门公开课教案 点击查看教程总目录 1 求平方和 使用循环,计算列表所有项的平方和,并输出这个和. 列表示例 lst = [8, 5, 7, 12, 19, 21, 10, 3, 2, ...
- 大爽Python入门教程 3-1 布尔值: True, False
大爽Python入门公开课教案 点击查看教程总目录 1 布尔值介绍 从判断说起 回顾第一章介绍的简单的判断 >>> x = 10 >>> if x > 5: ...
- 大爽Python入门教程 3-2 条件判断: if...elif..else
大爽Python入门公开课教案 点击查看教程总目录 简单回顾if 回顾下第一章的代码 >>> x = 5 >>> if x > 0: ... print(&q ...
- 大爽Python入门教程 总目录
作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 大爽Python入门公开课教案 本篇博客为公开课教案目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节, ...
随机推荐
- keepalived 安装和配置解析
Keepalived的特性 配置文件简单:配置文件比较简单,可通过简单配置实现高可用功能 稳定性强:keepalived是一个类似于layer3, 4 & 7交换机制的软件,具 ...
- appium+Andriod环境搭建遇到问题
报错:Caused by: org.openqa.selenium.WebDriverException: An unknown server-side error occurred while pr ...
- Tomcat实现自定义类加载器
什么是类加载器? 这是官方给的定义 在 Java 虚拟机的实现中,初始类可以作为命令行参数提供. 或者,该实现可以提供一个初始类,该类设置一个类加载器,该类加载器依次加载应用程序. 初始类的其他选择也 ...
- 保护模式篇——PAE分页
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- 【原创】浅谈指针(五)const和指针
前言 过了几个月再次更新.最近时间也不多了,快要期中考试了,暂且先少写一点吧. 本文仅在博客园发布,如在其他平台发现均为盗取,请自觉支持正版. 练习题 我们先来看几道题目.如果这几道题都不会的话,就先 ...
- Java:static关键字小记
Java:static关键字小记 对 Java 中的 static 关键字,做一个微不足道的小小小小记 static 修饰变量 静态变量:是被 static 修饰的变量,也称为类变量,它属于类,因此不 ...
- InitSpatialMetaData()速度慢的问题
解决方法:with sqlite3.connect(dbfile) as con: con.enable_load_extension(True) con.execute("SELECT l ...
- ShardingSphere-初见
目录 概述 认识shardingjdbc shardingjdbc功能架构图 认识Sharding-Proxy 三个组件的比较 ShardingJdbc混合架构 ShardingShpere的功能清单 ...
- 《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)
1.简介 前边几篇文章是宏哥自己在本地弄了一个单选和多选的demo,然后又找了网上相关联的例子给小伙伴或童鞋们演示了一下如何自动化测试,这一篇宏哥在网上找了一个问卷调查,给小伙伴或童鞋们来演示一下.上 ...
- 视频编码GOP
GOP group of pictures GOP 指的就是两个I帧之间的间隔. 比较说GOP为120,如果是720 p60 的话,那就是2s一次I帧. 在视频编码序列中,主要有三种编码帧:I帧.P帧 ...