我正在努力找出如何将答案从减法简化到小数点后两位。输入和离开的两个列表被减去,这样我就可以得到一辆车从a点到B点所需的时间
Enter=[7.12,
7.15,
7.24,
7.45,
7.28,
7.31,
7.18,
7.25,
7.33,
7.38]
Leave=[7.56,
7.24,
7.48,
7.52,
7.45,
7.57,
7.22,
7.31,
7.37,
7.41]
Timestaken=[]
for enter_data, leave_data in zip(Enter, Leave):
Timestaken.append(leave_data-enter_data)
print (Timestaken)
for index in Timestaken:
Timestaken[index]="%.2f" % Timestaken[index]
print(Timestaken)
当我在空闲状态下运行时,会收到以下信息:
>>>
[0.4399999999999995, 0.08999999999999986, 0.2400000000000002, 0.0699999999999994, 0.16999999999999993, 0.2600000000000007, 0.040000000000000036, 0.05999999999999961, 0.040000000000000036, 0.03000000000000025]
Traceback (most recent call last):
File "M:\Task 2 Testing.py", line 46, in <module>
Timestaken[index]="%.2f" % Timestaken[index]
TypeError: list indices must be integers, not float
我需要这方面的帮助:
for index in Timestaken:
Timestaken[index]="%.2f" % Timestaken[index]
更具Python性:
对
index
值的假设是错误的此代码将迭代
Timestaken
列表的所有值,而不是其索引:如果您确实想要索引和值,请使用
enumerate
:使用您的代码:不需要那些
appends
和重新格式化我用列表理解来简化操作
这应该起作用:
相关问题 更多 >
编程相关推荐