Skip to content

Commit b1491c9

Browse files
committed
Enhanced temperature and humidity analysis
1 parent fc54a82 commit b1491c9

File tree

1 file changed

+29
-27
lines changed

1 file changed

+29
-27
lines changed

Weather.py

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,38 @@ def main():
33
NUMBER_OF_HOURS = 24
44

55
# Initialize data
6-
data = []
7-
for i in range(NUMBER_OF_DAYS):
8-
data.append([])
9-
for j in range(NUMBER_OF_HOURS):
10-
data[i].append([])
11-
data[i][j].append(0) # Temperature value
12-
data[i][j].append(0) # Humidity value
6+
data = initialize_data(NUMBER_OF_DAYS, NUMBER_OF_HOURS)
137

148
# Read input using input redirection from a file
15-
for k in range(NUMBER_OF_DAYS * NUMBER_OF_HOURS):
9+
read_input(data, NUMBER_OF_DAYS, NUMBER_OF_HOURS)
10+
11+
# Find and display the average daily temperature and humidity
12+
calculate_and_display_averages(data, NUMBER_OF_DAYS, NUMBER_OF_HOURS)
13+
14+
15+
def initialize_data(num_days, num_hours):
16+
"""Initialize a 3D list for storing temperature and humidity data."""
17+
return [[[0, 0] for _ in range(num_hours)] for _ in range(num_days)]
18+
19+
20+
def read_input(data, num_days, num_hours):
21+
"""Read input data and populate the data list."""
22+
for _ in range(num_days * num_hours):
1623
line = input().strip().split()
17-
day = eval(line[0])
18-
hour = eval(line[1])
19-
temperature = eval(line[2])
20-
humidity = eval(line[3])
21-
data[day - 1][hour - 1][0] = temperature
22-
data[day - 1][hour - 1][1] = humidity
23-
24-
# Find the average daily temperature and humidity
25-
for i in range(NUMBER_OF_DAYS):
26-
dailyTemperatureTotal = 0
27-
dailyHumidityTotal = 0
28-
for j in range(NUMBER_OF_HOURS):
29-
dailyTemperatureTotal += data[i][j][0]
30-
dailyHumidityTotal += data[i][j][1]
24+
day, hour, temperature, humidity = map(eval, line)
25+
data[day - 1][hour - 1] = [temperature, humidity]
26+
27+
28+
def calculate_and_display_averages(data, num_days, num_hours):
29+
"""Calculate and display the average daily temperature and humidity."""
30+
for i in range(num_days):
31+
daily_temperature_total = sum(data[i][j][0] for j in range(num_hours))
32+
daily_humidity_total = sum(data[i][j][1] for j in range(num_hours))
3133

3234
# Display result
33-
print("Day" + str(i) + "'s average temperature is "
34-
+ str(dailyTemperatureTotal / NUMBER_OF_HOURS))
35-
print("Day " + str(i) + "'s average humidity is "
36-
+ str(dailyHumidityTotal / NUMBER_OF_HOURS))
35+
print(f"Day {i + 1}'s average temperature is {daily_temperature_total / num_hours:.2f}")
36+
print(f"Day {i + 1}'s average humidity is {daily_humidity_total / num_hours:.2f}")
37+
3738

38-
main() # Call the main function
39+
if __name__ == "__main__":
40+
main() # Call the main function

0 commit comments

Comments
 (0)