迭代循环Python

时间:2018-02-16 07:13:31

标签: python python-3.x python-2.7

这是问题所在: 编写一个名为q1()的程序,提示用户输入的起点和终点 公里(km)和增量值。然后应该打印显示值的转换表 公里,英里(M)和英尺(英尺)。每个值都应在计算时显示。

这是我的代码:

 print("This program prints a translation table between the Kilometers (km), Miles (M) and Feet (ft) scales.")

start_km = input("Enter the Starting Kilometers (km): ")
start_km = int(start_km)
end_km = input("Enter Ending Kilometers (km): " )
end_km = int(end_km)
increment = input("Increment value: ")
increment = int(increment)
km = start_km
M = km*(.621371)
ft = M*(5280)

print("km", "   ", "M", "   ", "ft")
print("==========================")
list = ['km', 'M', 'ft']
for i in range(start_km,end_km+1,increment):
    km = start_km
    M = km*(.621371)
    ft = M*(5280)
    print( km, "    ", M, "    ", ft)

我的问题是我得到一个列表,但它重复输入值而不是递增计算。我如何让它迭代?

2 个答案:

答案 0 :(得分:2)

for i in range(start_km,end_km+1,increment)

不会更改start_km的值,因此您只是反复打印相同的值。 for循环更改i的值,从start_km开始到end_km结束,所以你应该这样做:

for km in range(start_km,end_km+1,increment):
    M = km*(.621371)
    ft = M*(5280)
    print( km, "    ", M, "    ", ft)

自动增加km,就像您想要的那样

答案 1 :(得分:0)

应该是,

km = i

内循环不是,

km = start_km