|
|
5鱼币
- print( "输入一个整数,程序可以自动计算出1到这个整数的所有整数的和,\n类似:1+2+3+...+n=" )
- print
- n = int(input("输入一个整数:"))
- sum1 = 0
- str1 = ""
- for i in range(1,n+1):
- sum1 = sum1 + i #累加和
- str1 = str1 + str(i) #输出结果控制,形式类似:1+2+3+4+5+=15
- if i != n: #控制n后面那个+号
- str1 = str1 + "+"
-
-
- print (str1,"=",sum1)
复制代码
我要实现的是sum1=1 + (1 + 2) + (1 + 2 + 3) + … + (1 + 2 + 3 + … + n)这种效果,我猜测应该是在套一层循环,但是具体该怎么做?
- def add_num(n):
- result = ''
- for i in range(1,n+1):
- each = '('+'+'.join(map(str,list(range(1,i+1))))+')' if i>1 else '1'
- result += each +'+'
- result = result[:-1]
- print(result+'='+str(eval(result)))
复制代码
结果:
add_num(10)
1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)+(1+2+3+4+5+6)+(1+2+3+4+5+6+7)+(1+2+3+4+5+6+7+8)+(1+2+3+4+5+6+7+8+9)+(1+2+3+4+5+6+7+8+9+10)=220
|
最佳答案
查看完整内容
结果:
add_num(10)
1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)+(1+2+3+4+5+6)+(1+2+3+4+5+6+7)+(1+2+3+4+5+6+7+8)+(1+2+3+4+5+6+7+8+9)+(1+2+3+4+5+6+7+8+9+10)=220
|