0

私の目標は、入力 (Battery_Capacity) を受け取り、最終的に (New_Battery_Capacity) と Number of (Cycle) のリストを出力して、最終的に最大容量の 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) がプログラムで機能しないのはなぜですか?

4

1 に答える 1

0

最初の問題は、最初の 2 行の順序が間違っていることです。使用する前に「Cycle」変数が存在する必要があります。

ただし、それらを交換してもエラーが発生します。リストにフロートを掛けることはできません。リスト内包表記は、あなたが望むものです:

Charger_Rate = [i * .5 for i in Cycle]

私が知る限り、そのrange(160)部分は問題ありません。

于 2012-11-26T23:02:48.490 に答える