本文和你一起探索Python编程经典案例,让你沉浸式学习Python。
你可以拿着题目先思考,然后再对照本文解题方法进行比较。有不同的见解欢迎到公众号中跟我一起探讨。
经典案例【考题】
经典案例解题方法
2.1 通过for循环求出满足条件的数并求和
2.2 通过for循环求出满足条件的数存到列表中并求和

问题: 1000中能被3整除且能被5整除的所有正整数及这些数的和
输入:
1000
输出:
1000中能被3整除且能被5整除的正整数有 151000中能被3整除且能被5整除的正整数有 301000中能被3整除且能被5整除的正整数有 451000中能被3整除且能被5整除的正整数有 601000中能被3整除且能被5整除的正整数有 751000中能被3整除且能被5整除的正整数有 901000中能被3整除且能被5整除的正整数有 1051000中能被3整除且能被5整除的正整数有 1201000中能被3整除且能被5整除的正整数有 1351000中能被3整除且能被5整除的正整数有 1501000中能被3整除且能被5整除的正整数有 1651000中能被3整除且能被5整除的正整数有 1801000中能被3整除且能被5整除的正整数有 1951000中能被3整除且能被5整除的正整数有 2101000中能被3整除且能被5整除的正整数有 2251000中能被3整除且能被5整除的正整数有 2401000中能被3整除且能被5整除的正整数有 2551000中能被3整除且能被5整除的正整数有 2701000中能被3整除且能被5整除的正整数有 2851000中能被3整除且能被5整除的正整数有 3001000中能被3整除且能被5整除的正整数有 3151000中能被3整除且能被5整除的正整数有 3301000中能被3整除且能被5整除的正整数有 3451000中能被3整除且能被5整除的正整数有 3601000中能被3整除且能被5整除的正整数有 3751000中能被3整除且能被5整除的正整数有 3901000中能被3整除且能被5整除的正整数有 4051000中能被3整除且能被5整除的正整数有 4201000中能被3整除且能被5整除的正整数有 4351000中能被3整除且能被5整除的正整数有 4501000中能被3整除且能被5整除的正整数有 4651000中能被3整除且能被5整除的正整数有 4801000中能被3整除且能被5整除的正整数有 4951000中能被3整除且能被5整除的正整数有 5101000中能被3整除且能被5整除的正整数有 5251000中能被3整除且能被5整除的正整数有 5401000中能被3整除且能被5整除的正整数有 5551000中能被3整除且能被5整除的正整数有 5701000中能被3整除且能被5整除的正整数有 5851000中能被3整除且能被5整除的正整数有 6001000中能被3整除且能被5整除的正整数有 6151000中能被3整除且能被5整除的正整数有 6301000中能被3整除且能被5整除的正整数有 6451000中能被3整除且能被5整除的正整数有 6601000中能被3整除且能被5整除的正整数有 6751000中能被3整除且能被5整除的正整数有 6901000中能被3整除且能被5整除的正整数有 7051000中能被3整除且能被5整除的正整数有 7201000中能被3整除且能被5整除的正整数有 7351000中能被3整除且能被5整除的正整数有 7501000中能被3整除且能被5整除的正整数有 7651000中能被3整除且能被5整除的正整数有 7801000中能被3整除且能被5整除的正整数有 7951000中能被3整除且能被5整除的正整数有 8101000中能被3整除且能被5整除的正整数有 8251000中能被3整除且能被5整除的正整数有 8401000中能被3整除且能被5整除的正整数有 8551000中能被3整除且能被5整除的正整数有 8701000中能被3整除且能被5整除的正整数有 8851000中能被3整除且能被5整除的正整数有 9001000中能被3整除且能被5整除的正整数有 9151000中能被3整除且能被5整除的正整数有 9301000中能被3整除且能被5整除的正整数有 9451000中能被3整除且能被5整除的正整数有 9601000中能被3整除且能被5整除的正整数有 9751000中能被3整除且能被5整除的正整数有 9901000中能被3整除且能被5整除的所有正整数的和= 33165

1 方法一:应用for循环求出满足条件的数并求和
上述案例第一种解题思路为:
step1:应用for循环列举出该区间中的所有数。
step2:应用if语句判断数是否既能被3整除,又能被5整除,若能则打印出该数,并统计到求和参数中。
具体代码如下:
num = int(input('请输入区间的最大值'))sum_num = 0for i in range(1, num+1):if i % 3==0 and i % 5 == 0:print('1000中能被3整除且能被5整除的正整数有',i)sum_num += iprint('1000中能被3整除且能被5整除的所有正整数的和=', sum_num)
input('请输入范围的最大值'):手动输入待求区间的最大值。
i % 3==0:判读i是否整除3,若能则返回True,否则返回False。
若手动输入区间最大值是100,得到结果:
请输入范围的最大值1001000中能被3整除且能被5整除的正整数有 151000中能被3整除且能被5整除的正整数有 301000中能被3整除且能被5整除的正整数有 451000中能被3整除且能被5整除的正整数有 601000中能被3整除且能被5整除的正整数有 751000中能被3整除且能被5整除的正整数有 901000中能被3整除且能被5整除的所有正整数的和= 315
可以手动验证结果是对的。该方法的优点是逻辑简单,理解起来比较清晰。
2 方法二:通过for循环求出满足条件的数存到列表中并求和
上述案例第二种解题思路为:
step1:应用for循环列举出该区间中的所有数。
step2:应用if语句判断数是否既能被3整除,又能被5整除,若能则把该数添加到列表中。
step3:打印列表和列表求和结果。
具体代码如下:
num = int(input('请输入区间的最大值'))num_list = []for i in range(1, num+1):if i % 3==0 and i % 5 == 0:#print('1000中能被3整除且能被5整除的正整数有',i)num_list.append(i)print('1000中能被3整除且能被5整除的正整数列表如下:')print(num_list)print('1000中能被3整除且能被5整除的所有正整数的和=', sum(num_list))
若手动日期为1000,得到结果:
请输入范围的最大值10001000中能被3整除且能被5整除的正整数列表如下:[]1000中能被3整除且能被5整除的所有正整数的和= 33165
可以手动验证结果是对的,感兴趣的朋友也可以把代码复制到Python中去,输入别的数值进行验证。
至此,Python中的编程经典案例【考题】求某个范围内能被3整除且能被5整除的所有数,及这些数的和已讲解完毕。


扫一扫关注我
13162366985
投稿微信号、手机号