Python:给定范围为前10个数字,从起始数字迭代到结束数字并打印当前数字和前一个数字的总和

问题描述 投票:1回答:2

尝试为上述问题编写PYTHON代码并获取错误代码-谢谢您的帮助:

num = list(range(10))
previousNum = 0
for i in num:
    sum = previousNum + i
    print('Current Number '+ str(i) + 'Previous Number ' + str(previousNum) + 'is ' + str(sum)
    previousNum=i

这是我得到的错误:

文件“”,第6行previousNum = i^SyntaxError:语法无效

python loops range
2个回答
0
投票
sum = 0
for idx in range(10):
    print(f'current number = {idx}')
    if idx != 0:
        sum += idx
        print(f'cumul. sum = {sum}')

0
投票

似乎是第5行中的简单语法错误。

您在打印功能的末尾缺少右括号“)”。

例如:

num = list(range(10))
previousNum = 0
for i in num:
    sum = previousNum + i
    print('Current Number '+ str(i) + 'Previous Number ' + str(previousNum) + 'is ' + str(sum)) # <- This is the issue.
    previousNum=i

此外,这里有3个指针可以改善您的代码,这可能对您有用:

  1. 首先,Python使用蛇形大写作为PEP8中描述的语言,因此,不要键入“ previousNum”,而应使用“ previous_num”,所以我们从此开始。

  2. 不需要在这种情况下存储list(range(1))。您可以只使用```range(10)'''函数来代替存储的范围列表。

  3. f strings是进行字符串串联(将字符串加在一起)的可读性更高的方法。

有了这些,您的代码将如下所示:

previous_num = 0
for i in range(10):
    sum = previous_num + i
    print(f'Current number {i} Previous Number {previous_num} is {sum}')
    previous_num = i

快乐编码!

© www.soinside.com 2019 - 2024. All rights reserved.