假设n
是一个正整数
这是我的代码:
def sum_odd_n(n):
x =1
for x in range(n):
if x%2==1:
continue
return x + 2
但是当我在Python上运行它时,它会给我答案2
。您能告诉我什么地方出了问题以及我应该怎么做才能解决这个问题?
答案 0 :(得分:1)
由于您要查找第一个'n'个奇数的和,因此建议您使用step = 2的范围函数。我会详细说明:
25
这给出的输出为:typedef struct {
uint8_t ssid[33];
此处,在范围函数中,第一个属性提供起点,第二个属性提供终点,第三个属性提供序列中每个数字之间的差。 我希望这会有所帮助。
答案 1 :(得分:0)
您的代码有一些问题。
列表理解解决方案如下。
def sum_odd_n(n):
# sum up the first n odd numbers
return sum([2*i + 1 for i in range(n)])
答案 2 :(得分:0)
如果您有兴趣,这个特定问题也可以提供更快的解决方案。一组均匀分布的数的平均值只是最小数加上最大数除以2(在这种情况下,是(1+(2n-1))/ 2/2,或者只是n)。由于您要添加n个平均值为n的数字,因此以下函数将提供您要查找的输出。
def sum_odd_n(n):
return n**2
如果从技术上讲,您需要它作为满足某些家庭作业约束的迭代解决方案,则可以始终将较快的解决方案包装在循环中,并依赖于您想退出循环的数字的返回:
def sum_odd_n(n):
while True:
return n**2
答案 3 :(得分:-1)
检查此程序是否可以运行:
a=int(input("how many first odd number sum you want"))
x=1
i=0
def OddSum():
global i
global x
while i<=a:
x+=2
i+=1
print(x)
OddSum()