【问题标题】:Iterating for loop Python迭代for循环Python
【发布时间】:2023-03-05 08:45:01
【问题描述】:

这就是问题所在: 编写一个名为 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)

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

【问题讨论】:

  • 您不断将km 重置为start_km inside 循环,即km = start_km。你需要增加它...

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


【解决方案1】:
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,就像你想要的那样

【讨论】:

  • 这非常有用且易于理解。非常感谢,真的很有帮助!!
  • @MinnaAdelRubio 总是乐于提供帮助
【解决方案2】:

应该是,

km = i

内循环不是,

km = start_km

【讨论】:

    猜你喜欢
    • 2012-06-27
    • 1970-01-01
    • 2016-01-18
    • 2021-08-23
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多