写点什么

Python 之求 100 以内的奇数和

作者:向阳逐梦
  • 2022 年 9 月 29 日
    四川
  • 本文字数:1093 字

    阅读完需:约 4 分钟

在数学中,我们需要用到很多求和的办法,比如说求 1 至 100 的和,还有 100 以内的所有偶数和和所有奇数和,如果我们慢慢地计算是不是很浪费时间,还容易出错。其实通过 Python 就可以很好的实现,不仅速度快正确率还高。

1.解题的思路

对 100 以内的奇数求和,有四种常见的解题方法:

  • 用 range 函数遍历 100 以内的奇数,然后用 sum 函数求和

  • for 循环嵌套 if 语句,将 100 以内的奇数相加求和

  • while 循环将 100 以内的奇数相加,并打印求和

  • 用递归方法求和

2.解题方法

方法一: sum 函数

print(sum(range(1, 100, 2)))
复制代码

首先用 range 函数创建了一个整数列表,range(1, 100, 2)表示取值为 1-100(不包括 100)的整数,步长为 2,输出的值为 1,3,5……99

更多关于 range 函数的用法查看https://xie.infoq.cn/article/bf0662d24319e31073b094d80

然后用 sum 函数对 100 以内的奇数求和最后用 print 函数将求和结果打印出来

这行代码充分体现了 Python 语言的简洁性!!!

代码运行效果:


方法二:for 循坏

count = 0
for number in range(100): if number % 2 == 0: continue count += number print(count)
复制代码

第 1 行: 设置一个变量 count, 初始赋值为 0

第 3 行: 用 for 循环遍历 100 以内所有的整数

第 4-6 行: 用 if 语句判断 100 以内的数是否为奇数,是奇数就相加(if i % 2 == 0,continue 的含义是当数字为偶数时退出本次循环)

第 8 行: 用 print 函数打印其和

代码运行效果:

方法三:while 循坏

count = 0number = 1
while number < 100: count += number number += 2 print(count)
复制代码

第 1-2 行: 设置一个变量 count ,初始赋值为 0,变量 number 初始赋值为 1

第 4-6 行: 设定 while 循环的运行条件(number < 100)及执行语句(count += number;number += 2)第 8 行: 用 print 函数打印其和

代码运行效果:

方法四:递归求和

def sum(x):    if x > 99:        return 0    else:        count = sum(x + 2)        return x + countprint(sum(1))
复制代码

先看下什么是递归:

递归(Recursion)递归是一种解决问题的思路,其精髓在于将问题分解为规模更小的相同问题,直到问题规模小到可以用非常简单直接的方式来解决,其算法方面的明显特征就是:在算法流程中调用自身。

也可以说在函数内部调用自己的函数被称之为递归

递归算法三定律:

  • 必须要有结束条件(最小规模问题的直接解决)

    必须能向结束条件演进(减小问题规模)

    必须调用自身(解决减小了规模的相同问题)

在这段代码中,

第 1 行: 用 def 定义 sum 函数,传入参数 x

第 2-3 行: 设定这个设定递归算法的结束条件(if x > 99,return 0)

第 4-6 行: 在算法流程中调用 sum 函数自身,通过 return 函数执行语句

第 7 行: 为 x 赋值为 1,用 print 函数打印运算结果

代码运行效果:


发布于: 刚刚阅读数: 7
用户头像

向阳逐梦

关注

人生享受编程,编程造就人生! 2022.06.01 加入

InfoQ签约作者、阿里云“乘风者计划”签约博主

评论

发布
暂无评论
Python之求100以内的奇数和_9月月更_向阳逐梦_InfoQ写作社区