这应该工作
AvailibilityLine1 = 1.9AvailibilityLine2 = 45.9PerformanceLine1 = 76.5PerformanceLine2 = 99.9QualityLine1 = 100.0QualityLine2 = 0.0#these come in as floats with a single decimal space, ex:99.9val = [AvailibilityLine1, AvailibilityLine2, PerformanceLine1, PerformanceLine2, QualityLine1, QualityLine2]j = 0for i in val: if i >= float(100): val[j] = "100 " elif i >= 10 and i < 100: val[j] = str(val[j]) elif i > 0 and i < 10: val[j] = " " + str(val[j]) elif i <= 0: val[j] = " " #insert 4 spaces else: val[j] = " " #insert 4 spaces if all else fails j = j + 1print val
输出量
>>> [' 1.9', '45.9', '76.5', '99.9', '100 ', ' ']
您的代码中的问题:
- 计数器J的初始化应在for循环之外
- 您要在if-else的第二和第三条件下将整个列表(val)分配给列表索引



