Python 3:列表和循环

ua4mk5z4  于 2023-02-06  发布在  Python
关注(0)|答案(6)|浏览(129)

回答以下问题时,我需要代码方面的帮助。
等差数列是一个数列,其中任意两个连续数之间的距离(或差)是相同的。在数列1,3,5,7,...中,距离是2,而在数列6,12,18,24,...中,距离是6。
给定正整数distance和非负整数n,创建一个由1和n之间(包括1和n)的等差数列组成的列表,距离为distance。例如,如果distance为2,n为8,则列表为[1,3,5,7]。
将列表与变量arith_prog关联。
我更新了我的进度:

arith_prog = []
for i in range(1, n, distance):
    arith_prog.append(n)
    total = n + distance

虽然到目前为止提出的建议都很有帮助,但我仍然没有找到turingscraft codelab正在寻找的正确解决方案。

ssgvzors

ssgvzors1#

range函数最多有三个参数;开始,停止,踏步。你想要

list(range(1, n, distance))
bvk5enib

bvk5enib2#

我把这个作为家庭作业问题来回答,因为你似乎在暗示这就是它:
首先,你从来没有初始化过n,它的初始值应该是什么?
第二,这里不需要两个循环,只需要一个。
第三,为什么要将distance传递给range()?如果将两个参数传递给range(),它们将分别被视为下限和上限-而distance可能不是一个界限。

mzsu5hc0

mzsu5hc03#

问题是arith_prog.append(n)在哪里。你需要用.append(i)替换.append(n),因为我们要把那个范围内的值加到列表中。我15分钟前刚做了这个家庭作业,那是正确的解决方案之一。我犯了和你一样的错误。

aelbi1ox

aelbi1ox4#

做这样的事

arith_prog = []
n = 5 #this is just for example, you can use anything you like or do an input
distance = 2 #this is also for example, change it to what ever you like
for i in range(1,n,distance):
    arith_prog.append(i)
print(arith_prog) #for example this prints out [1,3]
omqzjyyz

omqzjyyz5#

我在myprogramminglib上也遇到过这个练习,你已经很接近了,试试这个:

arith_prog = []
    for i in range(1, n + 1, distance):
        arith_prog.append(i)
        total = n + distance

希望这个有用。

wooyq4lh

wooyq4lh6#

通过MPL工作,遇到此问题,接受以下答案:

arith_prog=[]

for i in range(1,n+1,distance):
    arith_prog.append(i)

相关问题