|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小甲鱼的《第016课:序列》,课后作业中最后一道题:
题目:视频中我们说 sum() 这个BIF有个缺陷,就是如果参数里有字符串类型的话就会报错,请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果。
答案:
1. def sum(x):
2. result = 0
3.
4. for each in x:
5. if (type(each) == int) or (type(each) == float):
6. result += each
7. else:
8. continue
9.
10. return result
11.
12. print(sum([1, 2.1, 2.3, 'a', '1', True]))
请问:
1> result += each 是什么?我记得 += 是加上一个固定数值的简单写法,这里怎么加上了 each?
2> continue 是个固定用法么?Python预制了 continue的用法,是么?
本帖最后由 jackz007 于 2020-1-13 16:40 编辑
- result += each # 此句是 result = result + each 的简写形式
复制代码
continue 和 break 一样,都是循环专用语句,在循环过程中,只要遇到 continue 语句,就会立即结束本次循环,并无条件返回循环代码起点处,开始下一次循环,与执行完循环语句块中最后一条语句时的行为效果完全相同。
在本例中,continue 是循环语句块的最后一条语句,根本就没有必要存在。
- def sum(x):
- result = 0
- for each in x:
- if (type(each) == int) or (type(each) == float):
- result += each
- return result
- print(sum([1, 2.1, 2.3, 'a', '1', True]))
复制代码
|
|