输入奇数n,计算Sn = 1 – 3 + 5 – 7 + 9 – 11 + …n。
i=int(input("请输入一个奇数:"))sum=0
if i%2!=0:
for n in range(1,i+2,2):
sum+=n
else:
print("请输入奇数")
print(sum)
奇数位正,偶数位负不会写 本帖最后由 heidern0612 于 2020-3-26 19:48 编辑
result = 0
temp=int(input("请输入需要计算的个数:"))
for i in range (1,temp+1):
if i % 2 == 0: #为偶数取负值
i = -i
else:
i=i #为奇数取正值
result += i #result累加i的迭代值
print(result)
heidern0612 发表于 2020-3-26 19:41
是取奇数相加,把奇数里的数第一位正第二位为负
本帖最后由 Unicorn# 于 2020-3-26 19:56 编辑
sum((-1)**(i+1)*(x*i-1)for i in range(1, n+1, 2)) 本帖最后由 永恒的蓝色梦想 于 2020-3-26 20:17 编辑
def func(n):
if n&1:
if n&3==1:
return (n^3)>>1
else:
return ~n>>1
else:
raise ValueError("请输入奇数!") Unicorn# 发表于 2020-3-26 19:54
Traceback (most recent call last):
File "C:/Users/dell/Desktop/1.py", line 4, in <module>
sum((-1)**(i+1)*(x*(i-1))for i in range(1, i+1, 2))
TypeError: 'int' object is not callable
不平凡、楠 发表于 2020-3-26 20:10
Traceback (most recent call last):
File "C:/Users/dell/Desktop/1.py", line 4, in
sum((-1) ...
试试我的{:10_297:} 永恒的蓝色梦想 发表于 2020-3-26 20:17
试试我的
我看不懂{:5_96:} 本帖最后由 heidern0612 于 2020-3-26 20:30 编辑
不平凡、楠 发表于 2020-3-26 20:23
我看不懂
result = 0
temp = int(input("请输入要计算的奇数个数:"))
for i in range(0,temp):
if (i % 2 == 0):
result += 2 * i +1
else:
result -= 2 * i+ 1
print(result)
算法说明:因为相邻两个数相加和都是负2,所以结果简单易见。
i=int(input("请输入一个奇数:"))
sum=0
k=0
if i%2!=0:
for n in range(1,i+1):
if n%2!=0:
sum+=n*(-1)**k
k+=1
else:
print("请输入奇数")
print(sum) 不平凡、楠 发表于 2020-3-26 20:23
我看不懂
结果对不就好了……{:10_266:}
这个代码大概等于这样def func(n):
if n%2!=0:
if n%4==1:
return (1+n)//2
else:
return (1-n)//2
else:
raise ValueError("请输入奇数!") number = int(input('请输入一个正整数:'))
def f(number):
if (number - 1)%4 == 0:
return ((number - 1)//4)*2 + 1
永恒的蓝色梦想 发表于 2020-3-26 20:32
结果对不就好了……
这个代码大概等于这样
谢谢兄弟 十月故里 发表于 2020-3-26 20:25
突然发现自己写多了,其实就插个控制哈,这样基本不用动主体
i=int(input("请输入一个奇数:"))
sum=0
k=0
if i%2!=0:
for n in range(1,i+2,2):
sum+=n*(-1)**k
k+=1
else:
print("请输入奇数")
print(sum)
页:
[1]