繁体   English   中英

迭代 for 循环 Python

[英]Iterating for loop Python

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

这是我的代码:

 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)

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

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 ,就像你想要的

它应该是,

km = i

内循环不是,

km = start_km

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM