我的目标是创建一个接受输入(Battery_Capacity)的程序,并最终吐出一个(New_Battery_Capacity)列表和它最终达到最大容量80所需的(循环次数)。
Cycle = range (160)
Charger_Rate = 0.5 * Cycle
Battery_Capacity = float(raw_input("Enter Current Capacity:"))
New_Battery_Capacity = Battery_Capacity + Charger_Rate
if Battery_Capacity < 0:
print 'Battery Reading Malfunction (Negative Reading)'
elif Battery_Capacity > 80:
print 'Battery Reading Malfunction (Overcharged)'
elif float(Battery_Capacity) % 0.5 !=0:
print 'Battery Malfunction (Charges Only 0.5 Interval)'
while Battery_Capacity >= 0 and Battery_Capacity < 80:
print New_Battery_Capacity
我想知道为什么我的Cycle = range(160)在我的程序中不起作用?
答案 0 :(得分:0)
您的第一个问题是前两行的顺序错误。在使用它之前,您需要一个“Cycle”变量才能存在。
但是,交换它们时仍会出现错误。您不能将列表乘以浮点数。列表理解更符合您的要求:
Charger_Rate = [i * .5 for i in Cycle]
据我所知,range(160)
部分没问题。