2015-11-11 9 views
0

Это для PYthon 3.5. Я хочу добавить формат часов и минут в список и получить его для распечатки, в настоящее время он тоже не будет.Я хотел бы добавить в мой список час и минуту и ​​перечислить каждый элемент с часом рядом с ним, начиная с 0:00 и до 23:00.

Я ищу, чтобы получить список того, что вводится как:

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) 

ответ

0

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

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

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

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))