Я хотел бы добавить формат часов и минут в свой список и перечислить каждый элемент с указанием часа рядом с ним, начиная с 0:00 и заканчивая 23:00

Это для 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)

1 ответ

Следующий код будет многократно запрашивать температуру, а затем показывать минимальное, максимальное и среднее значения.

Новым в этом коде является использование datetime модуль и datetime.time(hours + 1, 0).strftime('%H:%M') отформатировать значение как 01:00, 02:00 и так далее. Это с помощью strftime метод на время (что к чему datetime.time() создает) и форматирует значение как ЧЧ: ММ (две цифры для часа, две цифры для минут).

Он также использует enumerate которая является встроенной функцией, которую Python предоставляет для просмотра списка значений, а также предоставляет переменную counter. Таким образом, вы получите как позицию в списке, так и значение в этой позиции. Это полезно в нашем случае, потому что мы хотим отобразить как час, так и умеренное значение этого часа.

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))
Другие вопросы по тегам