0

这适用于 Python 3.5。我希望将小时和分钟格式添加到列表中并让它打印出来,目前它也不会这样做。

我正在寻找输入内容的列表:

0:00 The temperature is ##
1:00 The temperature is ##

至 23:00。

谢谢您的帮助。

HourlyTemperatures = []

def main():

    def GetTemperatures(HourlyTemperatures):
        for hours in range(0,24):
            HourlyTemperatures.append(int(input("Please input a temperature for the hour: " % hours)))
            while HourlyTemperatures[hours] <= -50 or HourlyTemperatures[hours] >= 130:
                print("Please enter a valid Temperature between -50 or 130")
                HourlyTemperatures[hours] = (int(input("Please input a temperature for the hour: ")))

        return HourlyTemperatures

    def ComputeAverageTemp(HourlyThemperatures):
        AverageTemperature = sum(HourlyTemperatures) / len(HourlyTemperatures)
        return AverageTemperature

    def ComputeMaxTemp(HourlyTemperatures):
        MaxTemp = max(HourlyTemperatures)
        return MaxTemp

    def ComputeMinTemp(HourlyTemperatures):
        MinTemp = min(HourlyTemperatures)
        return MinTemp


    CalcTemperature = GetTemperatures(HourlyTemperatures)
    AverageTemperature = ComputeAverageTemp(CalcTemperature)
    MaxTemp = ComputeMaxTemp(CalcTemperature)
    MinTemp = ComputeMinTemp(CalcTemperature)
    CalcDisplayTemperature = DisplayTemperatures(HourlyTemperatures, AverageTemperature)
    print(CalcTemperature)
    print(HourlyTemperatures)
    print(AverageTemperature)
    print(MaxTemp)
    print(MinTemp)
4

1 回答 1

0

以下代码将反复询问温度,然后显示最小值、最大值和平均值。

此代码中的新内容是使用datetime模块并将datetime.time(hours + 1, 0).strftime('%H:%M')值格式化为 01:00、02:00 等。这是strftime在时间上使用该方法(这是datetime.time()创建的),并将值格式化为 HH:MM(小时两位数,分钟两位数)。

它还使用enumeratePython 提供的内置函数,用于遍历值列表,同时还提供计数器变量。因此,您将获得列表中的位置以及该位置的值。这在我们的例子中很有用,因为我们想同时显示小时和那个小时的温带值。

import datetime

HourlyTemperatures = []

def GetTemperatures(HourlyTemperatures):
    for hours in range(0,24):
        message = "Please input a temperature for the hour: %s " % datetime.time(hours + 1, 0).strftime('%H:%M')
        HourlyTemperatures.append(int(input(message)))
        while HourlyTemperatures[hours] <= -50 or HourlyTemperatures[hours] >= 130:
            print("Please enter a valid Temperature between -50 or 130")
            HourlyTemperatures[hours] = int(input(message))

    return HourlyTemperatures

def ComputeAverageTemp(HourlyThemperatures):
    AverageTemperature = sum(HourlyTemperatures) / len(HourlyTemperatures)
    return AverageTemperature

def ComputeMaxTemp(HourlyTemperatures):
    MaxTemp = max(HourlyTemperatures)
    return MaxTemp

def ComputeMinTemp(HourlyTemperatures):
    MinTemp = min(HourlyTemperatures)
    return MinTemp


CalcTemperature = GetTemperatures(HourlyTemperatures)
AverageTemperature = ComputeAverageTemp(CalcTemperature)
MaxTemp = ComputeMaxTemp(CalcTemperature)
MinTemp = ComputeMinTemp(CalcTemperature)
print(CalcTemperature)
print(HourlyTemperatures)
print(AverageTemperature)
print(MaxTemp)
print(MinTemp)

for hour, temperature in enumerate(HourlyTemperatures):
    print("The temperature for " + datetime.time(hour + 1, 0).strftime('%H:%M') + " is " + str(temperature))
于 2015-11-14T15:44:24.203 回答