吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1139|回复: 13
收起左侧

[求助] 如何用python for计算

[复制链接]
judgecx 发表于 2019-10-14 19:15
python 如何用 for 计算出 1+1*2+1*2*3+1*2*3*4+1*2*3*4*5 的结果新手 希望各位大佬不要来那么深奥的代码 谢谢

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ghsfwy + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

拎壺沖 发表于 2019-10-14 19:34
有个思路,将你要算的最大的数值定义个数组,比如你要的最大乘数为100,那么定义个1到100的数组A,用个变量X做为数组A的下标,A[x],用循环控制下标变化每次+1 ………………
 楼主| judgecx 发表于 2019-10-14 19:38
拎壺沖 发表于 2019-10-14 19:34
有个思路,将你要算的最大的数值定义个数组,比如你要的最大乘数为100,那么定义个1到100的数组A,用个变量 ...

能否写下代码吗
Mr.Chu 发表于 2019-10-14 19:42
[Python] 纯文本查看 复制代码
total = 0
last_num = 1
for num in range(5):
    last_num = last_num * (num + 1)
    total += last_num
print(total)

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
逍遥游0222 + 1 + 1 直接把高中学的数列通项公式用进去了 你这算法可以啊
judgecx + 1 + 1 谢谢@Thanks!

查看全部评分

ghsfwy 发表于 2019-10-14 19:45
不错不错
我心飞翔1995 发表于 2019-10-14 19:56
[Python] 纯文本查看 复制代码
from functools import reduce
sum([reduce(lambda x,y:x*y,range(1,i),1) for i in range(2,7)])
howinbobo 发表于 2019-10-14 19:58
temp=input('请输入您要计算的数: ')
n=int(temp)
c=1
sum1=0
i=1
while n>=i:
    c=c*i
    sum1=c+sum1
    i+=1
print(sum1)

#用while函数可以轻松实现您的要求
 楼主| judgecx 发表于 2019-10-14 20:00
Mr.Chu 发表于 2019-10-14 19:42
[mw_shl_code=python,true]total = 0
last_num = 1
for num in range(5):

能讲解一下么还是有点不懂。
Mr.Chu 发表于 2019-10-14 20:16
judgecx 发表于 2019-10-14 20:00
能讲解一下么还是有点不懂。

total是总和,last_num是循环中序列数+1的阶乘,第一个数是1!,第二个数是2!,循环5次分别是1!,2!,3!,4!,5!,加起来不就是你题目的求和数嘛- -
天空宫阙 发表于 2019-10-14 22:41
本帖最后由 天空宫阙 于 2019-10-14 22:43 编辑

[Python] 纯文本查看 复制代码
# 计算num的阶乘
def muti_each(num):
    total = 1
    for each in range(1,num+1):
        total  = total*each
    return total

# 原式即计算1到5的5个阶乘的和
sum = 0
for i in range(1,6):
    sum += muti_each(i)

print(sum)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 10:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表