十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
使用三种方法实现0-n累加求和
创新互联建站专注于和硕企业网站建设,成都响应式网站建设公司,商城网站制作。和硕网站建设公司,为和硕等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
定义函数分别使用while循环、for循环、递归函数实现对0-n的累加求和
1、使用while循环
定义一个累加求和函数sum1(n),函数代码如下:
20200503163511.jpg
2、使用 for循环
定义一个累加求和函数sum2(n),函数代码如下:
20200503163523.jpg
3、使用递归函数
定义一个累加求和函数sum3(n),函数代码如下:
import math
n = int(input("请输入一个正整数:"))
# 计算阶层
result = math.factorial(n)
# 输出结果
print("{}! = {}".format(n, result))
在这段代码中,我们首先使用 input 函数从用户输入一个正整数。然后,我们使用 math.factorial 函数计算这个数的阶层。最后,我们使用 print 函数将计算结果输出到控制台。
请注意,在 Python 中,阶层是用感叹号(!)表示的。例如,5 的阶层是 5!,表示 1 * 2 * 3 * 4 * 5。
python里数列相邻数相加:
1、使用 for循环,定义一个累加求和函数sum2(n),for循环的作用就是循环遍历。def Sum(*args): count = 0 for i in args: count+=ireturn count
2、使用递归函数,定义一个累加求和函数sum3(n),递归函数一定要设置递归的出口,即当函数满足一个条件时,函数不再执行,目的防止出现死循环;设置当n=1时 ,我们让函数返回1,return后面的代码不在执行。def sum_numbers(num): # 1.出口 if num == 1: return 1 # 2.数组累加 temp = sum_numbers(num - 1) return num + temp result = sum_numbers(3)print(result)
例如上面的例子,实现一个整形集合的累加。假设lst = [1,2,3,4,5],实现累加的方式有很多:
第一种:用sum函数。
sum(lst)
第二种:循环方式。
def customer_sum(lst):
result = 0
for x in lst:
result+=x
return result
def customer_sum(lst):
result = 0
while lst:
temp = lst.pop(0)
result+=temp
return result
if name ==" main ":
lst = [1,2,3,4,5]
print customer_sum(lst)
第三种:递推求和
def add(lst,result):
if lst:
temp = lst.pop(0)
temp+=result
return add(lst,temp)
else:
return result
if name ==" main ":
lst = [1,2,3,4,5]
print add(lst,0)
第四种:reduce方式
lst = [1,2,3,4,5]
print reduce(lambda x,y:x+y,lst)
lst = [1,2,3,4,5]
print reduce(lambda x,y:x+y,lst,0)
def add(x,y):
return x+y
print reduce(add, lst)
def add(x,y):
return x+y
print reduce(add, lst,0)
有一个序列集合,例如[1,1,2,3,2,3,3,5,6,7,7,6,5,5,5],统计这个集合所有键的重复个数,例如1出现了两次,2出现了两次等。大致的思路就是用字典存储,元素就是字典的key,出现的次数就是字典的value。方法依然很多
第一种:for循环判断
def statistics(lst):
dic = {}
for k in lst:
if not k in dic:
dic[k] = 1
else:
dic[k] +=1
return dic
lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]
print(statistics(lst))
第二种:比较取巧的,先把列表用set方式去重,然后用列表的count方法
def statistics2(lst):
m = set(lst)
dic = {}
for x in m:
dic[x] = lst.count(x)
lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]
print statistics2(lst)
第三种:用reduce方式
def statistics(dic,k):
if not k in dic:
dic[k] = 1
else:
dic[k] +=1
return dic
lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]
print reduce(statistics,lst,{})
或者
d = {}
d.extend(lst)
print reduce(statistics,d)
通过上面的例子发现,凡是要对一个集合进行操作的,并且要有一个统计结果的,能够用循环或者递归方式解决的问题,一般情况下都可以用reduce方式实现。
python输出1到100之和的几种方法
1. 使用内建函数range
print sum(range(1,101))
2. 使用函数reduce
print reduce(lambda a,b:a+b,range(1,101))
3. 使用for循环
n = 0
for x in range(101):
n = x + n
print(n)
4.使用result函数
result=0
i=0
while i=100
print(i)
result +=i
print("输出1到100的累加和=%d" result)
循环累加
1、进入都pycharm编辑器中,打开一个Python文件或者可以新建一个文件,先初始化两个变量,输入下面的代码:
result=0
i=0
2、使用循环累加的方式,在这里我们使用的是while函数进行循环累加的操作,循环的条件是i小于或者是等于100,也就是说,求的是100以内的数在和,代码如下:
while i=100:
result+=i
i+=1
这里的变量i,每循环一次,它就自增一次,直到它大于100,循环才会结束。最后可以使用Python中的print()函数输出累加的结果。
方法二:递归累加
1、同样的使用pycharm编辑器,进入到编辑界面之后,打开或者是创建一个Python文件,在文件中调用使用函数进行调用,对变量进行累加,输入下面的这段代码:
def sum_num(num):
这里是定义了一个函数为sum_num,包含了一个参数,用来传递具体的值,并且执行下面的代码调用,进行累加,代码如下:
t=sum_num(n-1)
return n+t
2、在函数的调用过程中,我们可以设置一个变量,用来存放最后得到的累加的结果,并且最后使用print()函数对运行结果进行打印,代码如下:
result = s_num(100)
print(result)
关于怎么在Python中实现累加求和?Python累加求和的方法的文章就分享到这里了,文章中介绍了两种累加求和的方法,大家可以根据操作步骤,动手实践一下。