飞道的博客

Python|初学练习小随笔①

450人阅读  评论(0)

前言

第一次尝试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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场