[英]Sum of all numbers in range from 0 to a given number that are divisible with 7
[英]Given a range of first 10 numbers, Iterate from start number to the end number and print the sum of the current number and previous number
我正在嘗試為上述問題編寫 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
這是我得到的錯誤:
File "<ipython-input-40-6f1cd8f8f1d7>", line 6
previousNum=i
^
SyntaxError: invalid syntax
看起來是第 5 行中的一個簡單語法錯誤。
您在打印 function 末尾缺少右括號“)”。
例如:
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 個改進您的代碼的指針,它們可能對您有用:
首先,Python 使用 Snake case 作為其語言,如PEP8中所述,因此您應該使用“previous_num”而不是輸入“previousNum”,所以我們將從它開始。
不需要在此實例中存儲list(range(1))
。 您可以只使用 ```range(10)''' function 來代替存儲的范圍列表。
f 字符串是進行字符串連接(將字符串添加在一起)的更具可讀性的方式。
有了這些,您的代碼將如下所示:
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
快樂編碼!
sum = 0
for idx in range(10):
print(f'current number = {idx}')
if idx != 0:
sum += idx
print(f'cumul. sum = {sum}')
歡迎來到 Stackoverflow。 總有功能 python:
>>> list(map( lambda x: x[0] + x[1], zip(range(0,10), range(1,11))))
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
或者,如果您的意思是前輩的累積總和,例如減少:
>>> [sum(range(xs)) for xs in range(1,11)]
[0, 1, 3, 6, 10, 15, 21, 28, 36, 45]
在將范圍、過濾器和 map 轉換為迭代器之前,這在 python 2 中曾經更容易。
for i in range(1,10+1):
print(i+i-1, end=' ')
在這里它從 1 迭代到 10 包括在內。 它打印 i 的當前值與 i-1 的前一個值之和的值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.