我正在尝试编写代码,让用户输入车辆的速度和行驶时间。使用此信息,可以计算出每小时的总距离。如果用户以30 MPH的速度输入4小时的时间,则所需输出的样本将显示4小时和30小时的距离1、60表示小时2、90表示小时3等。
但是,下面的代码产生的输出仅显示最终数字。含义(使用上面的输入)仅显示4小时和120英里距离四次。
这是代码:
#This program uses a loop to display
#distance traveled over time.
print('This program calculates distance traveled')
print('for a vehicle traveling at a constant speed.')
#Gets speed of the vehicle
speed = int(input('Enter the vehicle speed in MPH: '))
#Gets the hours
hours = int(input('Enter time of trip in hours: '))
#creates headings for table displaying output
print()
print('Hour\tDistance Traveled')
print('-------------------------')
for number in range(1, hours + 1):
distance = hours*speed
print(hours, '\t', distance)
答案 0 :(得分:0)
这是因为您在计算中使用的是终端值(hours
),而不是循环变量(number
)。
如果在循环中将hours
更改为number
,它将按预期工作。
for number in range(1, hours + 1):
distance = number*speed
print(number, '\t', distance)
另外,给变量number
命名是非常不好的做法。如果不通读全部代码,很难理解它是什么数字,因此我也建议将其重命名为更具信息性的名称,例如intermediate_hour
或仅hour
:
for intermediate_hour in range(1, hours + 1):
distance = intermediate_hour * speed
print(intermediate_hour, '\t', distance)