如何无限期地循环这个Python程序,并将浮点小时转换成小时和分钟?

2024-06-12 13:18:09 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我需要做一个燃料消耗计算器,也将计算时间花费在一个特定的旅行。你知道吗

我不知道如何让程序告诉我小时:分钟“格式而不仅仅是小时的浮点变量。

Time traveled: 1.6666666666666667 hours 应该是 Time traveled: 1h:45min

此外,我不知道如何让程序在关闭前无限重复问题并给出结果。

这是我的代码:

# Get L/100km used from the user
fuel = input("Enter car's L/100kmh:")
fuel = float(fuel)

# Get distance driven from the user
distance = input("Enter kilometers driven:")
distance = float(distance)

# Get speed used from the user
speed = input("Enter driving speed:")
speed = float(speed)

# Calculate and print the answer
time = distance / speed
fuel_burned = distance / 100 * fuel
print("Time traveled:", time,"hours")
print("Fuel burned:", fuel_burned,"liters")

Tags: thefrom程序inputgettimefloatdistance
2条回答

你可以把它绕一圈。你的标题毫无意义,因为这与GUI(图形用户界面)无关

示例:

while True: 

    # Get L/100km used from the user
    fuel = input("Enter car's L/100kmh:")
    fuel = float(fuel)

    # Get distance driven from the user
    distance = input("Enter kilometers driven:")
    distance = float(distance)

    # Get speed used from the user
    speed = input("Enter driving speed:")
    speed = float(speed)

    # Calculate and print the answer
    time = distance / speed
    fuel_burned = distance / 100 * fuel
    print("Time traveled:", time,"hours")
    print("Fuel burned:", fuel_burned,"liters")

为了尽可能准确,对该代码进行了大量编辑。我的解决方案假设您希望能够优雅地退出程序,而不是让它在系统关闭时终止,但如果不是这样,只需删除循环的最后一部分,从again = ...开始。你知道吗

while True:
    # Get L/100km used from the user
    fuel = input("Enter car's L/100kmh:")
    fuel = float(fuel)

    # Get distance driven from the user
    distance = input("Enter kilometers driven:")
    distance = float(distance)

    # Get speed used from the user
    speed = input("Enter driving speed:")
    speed = float(speed)

    # Calculate and print the answer
    time = distance / speed
    fuel_burned = distance / 100 * fuel
    hours = int(time)
    minutes_remainder = (time - hours) * 60
    minutes = int(minutes_remainder) 
    print("Time traveled: ", hours,":",minutes)
    print("Fuel burned: ", fuel_burned," liters")

     again = input("Go again? (y/n)")
     if again == "n":
        break

Here是将十进制小时转换为小时:分钟C++中的秒,我用它来解决我给出的问题。你知道吗

相关问题 更多 >