我需要一個任務的幫助,要求我們將陣列中的所有數字加倍,但如果前一個數字和當前被加倍的數字之后的數字相等,則更改正在加倍的數字之后的數字.
這是我目前擁有的:
from array import *
vals = array('i', [0, 2, 5, 4, 1, 0, 3, 3, 6, 7])
print(vals)
for i in range(len(vals)):
if i >= 0:
if vals[i-1] == vals[i 1 < i]:
vals[i] = vals[i] *2
print(vals[i])
到目前為止,我撰寫的代碼作業正常,所需的輸出是[0, 4, 10, 0, 2, 0, 6, 6, 0, 14],我們基本上需要將陣列和 procec 中的值加倍以替換例如:如果當前加倍的值是 3,如果前面的值和后面的值相等,然后用 0 替換后面的值,在這種情況下,用 0[6, 3, 6]替換第二個 6。
uj5u.com熱心網友回復:
這會產生所需的輸出。我使用串列而不是陣列。
vals = [0, 2, 5, 4, 1, 0, 3, 3, 6, 7]
vals[0] *= 2
for i in range(1, len(vals)-1):
if vals[i - 1] == vals[i 1]:
vals[i 1] = 0
vals[i] *= 2
vals[-1] *= 2
print(vals)
輸出:
[0, 4, 10, 0, 2, 0, 6, 6, 0, 14]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/441586.html
下一篇:我在終端的輸出中得到奇怪的符號
