问题是编写一个名为 double_it() 的函数应该遍历列表并将原始列表中的每个数字元素乘以 2,然后返回表示被加倍的元素数的整数。
这就是我所拥有的......输出只是重复列表 2 次而不是乘以值。
def main():
original_list = [input("Enter a list of numbers: ")]
double_it(original_list)
def double_it(new_list):
for index in range(len(new_list)):
new_list[index] *= 2
print new_list
main()
请您参考如下方法:
您的问题看起来像是处理输入的错误。 raw_input 函数通常应优先于输入。
我会推迟这个 Stack Overflow 问题: https://stackoverflow.com/questions/4663306/how-can-i-get-a-list-as-input-from-the-user-in-python
至于加倍部分,有几种方法可能值得了解,以充分探索 python。
迭代
>>> originalList = [1, 2, 3, 4, 5]
>>> newList = []
>>> for item in originalList:
... newList.append(item*2)
...
>>> print(newList)
[2, 4, 6, 8, 10]
列表理解
>>> originalList = [1, 2, 3, 4, 5]
>>> newList = [item*2 for item in originalList]
>>> print(newList)
[2, 4, 6, 8, 10]
map
>>> def double(x): return 2*x
...
>>> originalList = [1, 2, 3, 4, 5]
>>> newList = list(map(double, originalList))
>>> print(newList)
[2, 4, 6, 8, 10]
围绕这些东西的 python 文档都非常好,并且是极好的学习资源。
