网站大量收购独家精品文档,联系QQ:2885784924

Python实例练习题合集(2).docx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python实现阶乘累加求和:1!+2!+…+20!Python实现列表数据的复制Python实现企业利润提成奖金计算Python寻找满足特定平方数条件的整数解Python实现考试成绩等级评估Python统计学生成绩中高分比例Python实现学生成绩分段统计Python实现三科成绩奖学金评定系统Python实现字符串多维度统计Python实现小球自由落体运动计算

PAGE232

Python实现阶乘累加求和:1!+2!+…+20!

任务要求

计算1!+2!+…+20!的和,并将结果在控制台打印输出。

任务分析

阶乘累加问题需满足:

对每个数n(1≤n≤20)计算其阶乘n!。

将所有阶乘结果累加。

核心难点在于避免重复计算和处理大数溢出(Python默认支持大整数,无需额外处理)。

任务实现

方法一:直接循环法

total=0

current=1#存储当前阶乘值

forninrange(1,21):

current*=n#计算n!=(n-1)!*n

total+=current

print(结果为:,total)

说明:利用current变量保存当前阶乘值,避免重复计算。

方法二:递归函数法

deffactorial(n):

return1ifn==1elsen*factorial(n-1)

sum_result=sum(factorial(i)foriinrange(1,21))

print(结果为:,sum_result)

说明:

定义递归函数factorial计算单个阶乘

通过生成器表达式遍历求和

缺点:递归深度较大时效率较低(n=20时可行)

方法三:使用math.factorial库函数

importmath

sum_result=sum(math.factorial(i)foriinrange(1,21))

print(结果为:,sum_result)

说明:直接调用Python内置的math.factorial函数

方法四:函数式编程法

fromfunctoolsimportreduce

sum_result=sum(

reduce(lambdax,y:x*y,range(1,i+1))

foriinrange(1,21)

)

print(结果为:,sum_result)

说明:

使用reduce对连续整数序列进行累积计算

lambdax,y:x*y实现乘法累积

特点:函数式编程风格,适合高阶应用场景

Python实现列表数据的复制

任务要求

将一个已知列表[1,2,3,4,5]中的所有数据复制到另一个新列表中。目标是确保新列表与原列表完全独立,同时保留所有数据。

任务实现

方法一:浅拷贝(直接赋值)。通过直接赋值的方式,将原列表的所有元素复制到新列表中。

original_list=[1,2,3,4,5]

new_list=original_list.copy()#或者new_list=original_list[:]

print(原列表:,original_list)

print(新列表:,new_list)

方法二:深拷贝(处理嵌套结构)。如果原列表包含嵌套的可变对象(如子列表),浅拷贝会导致新旧列表共享这些对象。此时需要使用深拷贝。

importcopy

original_list=[1,2,[3,4],5]

new_list=copy.deepcopy(original_list)

print(原列表:,original_list)

print(新列表:,new_list)

方法三:列表推导式。通过生成式语法创建新列表,并将原列表的所有元素逐一添加到新列表中。

original_list=[1,2,3,4,5]

new_list=[xforxinoriginal_list]

print(原列表:,original_list)

print(新列表:,new_list)

方法四:切片复制。利用切片语法对整个列表进行复制。

original_list=[1,2,3,4,5]

new_list=original_list[:]

print(原列表:,original_list)

print(新列表:,new_list)

方法五:extend()方法。通过extend()方法将原列表的所有元素添加到新列表中。

original_list=[1,2,3,4,5]

new_list=[]

new_list.extend(original_list)

print(原列表:,original_list)

print(新列表:,new_list)

方法六:copy模块。使用copy模块中的copy()函数进行浅拷贝。

importcopy

original_list=[1,2,3,4,5]

n

文档评论(0)

夜晚回家 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档