![](/img/trans.png)
[英]How do I write a function function(n) that takes in an integer, and returns the sum of the first n even numbers using a while loop?
[英]How do I write an iterative function that computes the sum of the first n odd numbers it returns 1 + 3 + … + (2n - 1), using a for loop?
假设n
是一个正整数
这是我的代码:
def sum_odd_n(n):
x =1
for x in range(n):
if x%2==1:
continue
return x + 2
但是当我在Python上运行它时,它给了我答案2
。 您能否通过告诉我什么地方出了问题以及我应该怎么做才能解决这个问题?
由于您要查找第一个“ n”个奇数之和,因此建议您使用step = 2的范围函数。 我会详细说明:
def sum_n(n):
addition=0
for x in range(1,2*n,2):
addition+=x
return addition
s=sum_n(5)
print(s)
输出为: 25
在此,在范围函数中,第一个属性提供起点,第二个属性提供终点,第三个属性提供序列中每个数字之间的差。 我希望这有帮助。
您的代码有一些问题。
列表理解解决方案的解决方案如下。
def sum_odd_n(n): # sum up the first n odd numbers return sum([2*i + 1 for i in range(n)])
检查此程序是否可以运行:
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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.