前言
第一次尝试CSDN博客,一切都是从新开始。
排版可能还有许多欠缺,还需慢慢摸索。
练习题目
今天尝试一道简单的计算题,题目如下:
遍历1-100的整数
计算出取余5结果为3的所有整数的和
尝试解决
分析题干
通过分析本题,发现考察了以下知识:
- “遍历”,即需要使用for循环来解决
- “1-100的整数”,不难想到利用range函数,范围是1到101(不包括101)
- “取余”,就是Python中的余数运算,最后输出结果为两数相除后的余数
编写代码
思路一
不妨设一个变量sum为0,然后利用for循环不断将符合“取余5结果为3的整数”的值与原sum的值相加重新赋值给新的变量sum。最后,该变量sum的值即为答案。
参考代码:
#coding:utf-8
sum = 0
n = range(1,101)
for i in n:
if i % 5 == 3:
sum = sum + i
print(sum)
最后输出结果:
1010
思路二
细看题目,可发现“取余5结果为3的所有整数”,这些数字存在一定的关系:在前一个数字上加上5即为后一个数字,也就是公差为5。
因此,可以利用数学上的等差数列公式:(首项+末项)×项数÷2,解答本题。
参考代码:
#coding:utf-8
n = range(1,101)
#创建空列表,存储遍历中的数字,便于读取
list = []
for i in n:
if i % 5 == 3:
list.append(i)
#等差数列求和公式
sum= (list[0]+list[len(list)-1])*((list[len(list)-1]-list[0])/5+1)/2
print(sum)
最后输出结果:
1010
思路三
我们也可以创建一个空列表,将所有遍历后的结果存入该列表中。
然后利用sum函数对列表内每个存储的值进行相加,得出结果。
参考代码:
#coding:utf-8
list = []
for i in range(1,101):
if i % 5 == 3:
list.append(i)
print(sum(list))
最后输出结果:
1010
写在最后
通过本次练习,掌握了for循环、range函数、sum函数等基础知识。
若有更好的思路或建议,希望能给予指正。
转载:https://blog.csdn.net/qq_33653078/article/details/104680074
查看评论