2017-09-30 4 views
1

距離、車両走行は、以下のように計算することができるで(ループ表距離を用い=速度*時間

距離=速度*時間

は、車両の速度をユーザに要求したプログラムを書きます1時間あたりのマイル数)と旅行した時間数です。プログラムはループを使用して、車両がその時間帯の1時間ごとに移動した距離を表示する必要があります。出力の例を次に示します。

車の速度は何mphですか? 40

何時間旅行しましたか? 3

時間の距離は


1を旅行した:40

2:80

3:私はこれまで行われ、すべてを得ているだけに管理することができません120

最初の時間(1)の例の表に示すように、テーブルが正しく出てくるようにしてください。それは40で始まりますが、代わりに120で始まります。あなたは、印刷ラインからカンマを削除し、文字列形式で番号をプリントアウトする必要があり、それは、誰かが5時間

g = 'y' 
while g == 'Y' or g == 'y': 
    speed = int(input('Enter mph: ')) 
    time = int(input('Enter hours: ')) 

    if time <= 0 or speed <= 0: 
     print('Invalid Hours and mph must be greater than 0') 
    else: 
     for t in range(time): 
      distance = speed * time 

      print(t + 1,':', distance) 
      time = time * 2 


     g = 'n' 
print('End') 
+1

頭の中であなたのコードをステップ実行してください。どこが最初に間違っていますか?非常に最初の計算で間違っているので簡単です!それはどの計算ですか?なぜそれは間違っているのですか? –

+1

別の手がかり、距離を得るために何を乗算していますか? – salparadise

答えて

2

プログラム内で2つのものを変更してください。 まず、forループ内の時間を倍にする必要はありません、セカンドは、距離を計算する代わりに時間の変数トンを使用しています。

g = 'y' 
while g == 'Y' or g == 'y': 
speed = int(input('Enter mph: ')) 
time = int(input('Enter hours: ')) 

if time <= 0 or speed <= 0: 
    print('Invalid Hours and mph must be greater than 0') 
else: 
    for t in range(time): 
     distance = speed * (t+1)  // Use t+1 instead of time 

     print(t + 1,':', distance) 
     # time = time * 2    // No need to double the time 


    g = 'n' 
print('End') 

Input: 
40 
3 

Output: 
(1, ':', 40) 
(2, ':', 80) 
(3, ':', 120) 
End 
0

で毎時50マイルを行っていたかのように、ユーザーがこのような入る任意の値のために働く必要が言及するのを忘れてしまったと文字列のコロンにそれ連結のように:あなたはまた、あなたの出力距離もそれを計算することにより固定することができます2

 time = time + 1 

を掛けない1で時間をインクリメントする必要が

 print(str(t + 1) + ':' + str(distance)) 

時間の代わりにtに基づいて

 distance = speed * (t+1) 
関連する問題