【发布时间】:2013-11-01 08:19:34
【问题描述】:
我正在做一些练习题,一个程序要求我将列表中的数字更改为 99,前提是之前的数字是偶数。我遇到了麻烦,当我将数字更改为 99 时,当它移动到下一个数字时,它会检查 99 是否是偶数,这是我不想要的,我希望它检查我的原始值有,不是我改成的。
d = [9, 8, 2, 15, 6, 33, 10, 4]
i = 1
while i < len(d) - 1 :
if d[i-1]%2 == 0 :
d[i] = 99
i = i + 1
print d
返回[9, 8, 99, 15, 6, 99, 10, 4]
我希望它返回[9,8,99,99,6,99,10,99]
如果有任何意义,我如何将 99 添加到原始列表中而不更改其原始值?无法使用 pop 或 insert 等列表方法。
【问题讨论】:
-
对你的措辞要非常小心(我知道英语可能不是你的第一语言)。你说
"if the number previously is even”。我想你的意思是“如果前一个数字是偶数”。有很大的不同。 -
输出应该是
[9, 8, 99, 15, 6, 99, 10, 99]吗? -
以及我将如何在 python 中执行“was”部分。我是否将临时值分配给以前的值或其他东西?
-
没有,因为 2 是偶数,所以 15 应该改为 99