使用Python中的循环显示计算

时间:2018-07-19 01:51:25

标签: python loops

我正在尝试编写代码,让用户输入车辆的速度和行驶时间。使用此信息,可以计算出每小时的总距离。如果用户以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)

1 个答案:

答案 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)