【发布时间】:2017-07-01 04:00:05
【问题描述】:
我在 Python 中有这段代码
def receipt(array):
sum = 0.0
for i in range(len(array)):
sum = sum + array[i]
return sum
array = []
while True:
print("Calculating Price")
n = input("Enter a price: ")
if n == "":
print("Goodbye")
break
array.append(n)
totalCost = receipt(n)
print("The total cost is " + str(totalCost))
我想知道为什么这段代码不起作用。第四行好像有错误
sum = sum + array[i]
但我无法弄清楚它的哪一部分是错误的。我相信我正确使用了 array[i] 组件。可能是字符串问题?
问题:
- 代码的哪一部分不起作用?
- 我的错误是什么?
总的来说,我对计算机科学比较陌生。谢谢您的帮助。任何事情都值得赞赏!
【问题讨论】:
-
对于初学者,您在
def上的缩进是错误的。无法分辨这里属于什么。 -
确保你的缩进是正确的,因为 Python 对事物的缩进很敏感。在第一行之后,您需要缩进
receipt函数中的所有内容。 -
@McGlothlin 哎呀,在我的程序中,我已经正确缩进了。不管怎样,我会继续编辑它。
-
@Crescendo 我希望您正在学习 python,但是您的解决方案对于长数组来说效率低下。您在函数中传递整个数组并对其元素执行求和。您可以使用记忆技术,以便只向结果中添加新元素,而不是重新计算整个结果
-
@YamanJain 是的,我正在学习 Python。你说的这种“记忆”技巧是什么?
标签: python python-3.x