专业编程基础技术教程

网站首页 > 基础教程 正文

python经典案例:求1到100之和(用python语言求1到100的和)

ccvgpt 2024-11-16 17:27:43 基础教程 6 ℃

问题:求1到100之和

方法1:利用循环求和

python经典案例:求1到100之和(用python语言求1到100的和)

#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
total=0
for i in range(1,101):
    total +=i
print(total)

方法2:利用sum与range函数

#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
total = sum(range(1, 101))
print(total)

方法3:使用列表推导式

#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
total = sum([x for x in range(1, 101)])
print(total)

方法4:使用Python的reduce函数(需要安装functools库)

#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
from functools import reduce
def add(x, y):
    return x + y
total = reduce(add, range(1, 101))
print(total)

注:functools库提供很多强大的函数和工具,有兴趣的小伙伴可以研究一下,下面列出常用功能:

1.lambda匿名函数(创建简单函数,如排序,计算平方等)

#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
from functools import reduce
sqr = lambda x: x * x
print(sqr(4) ) # 输出 16

2.map函数(这是一个高阶函数,用于对列表或其他可迭代对象中的每个元素应用一个函数)

#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
from functools import reduce
def square(x):
    return x * x

nums = [1, 2, 3, 4, 5]
squared = map(square, nums)
print(list(squared))  # 输出 [1, 4, 9, 16, 25]

3.filter函数(这是一个高阶函数,用于过滤列表或其他可迭代对象中的元素,仅保留满足特定条件的元素)

#!/usr/bin/python
#coding:utf-8
#author:菜就多练呀
from functools import reduce
def is_even(x):
    return x % 2 == 0

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_nums = filter(is_even, nums)
print(list(even_nums))  # 输出 [2, 4, 6, 8, 10]

Tags:

最近发表
标签列表