Аккумулятор для внешнего вложенного цикла Python - PullRequest
0 голосов
/ 14 ноября 2018

Я изучаю питон самостоятельно из книги и решаю проблемы. В одной проблеме пользователь вводит количество дождя для каждого месяца в течение одного года в течение нескольких лет. Мне нужно найти среднее количество осадков за каждый год (сумма (месячный дождь) / numb_months, а также среднее количество осадков за этот период, например, за два года. В следующем коде я могу получить среднее значение за каждый год (I я использовал только 3 месяца вместо 12 месяцев, чтобы избежать утомительного ввода сейчас), но я не знаю, где мне нужно поместить аккумулятор для общего дождя в этот период, а затем усреднить его. Я ценю вашу помощь.

number_of_months = 3
years_in_period = int(input("Please enter the number of years in the period. \n"))

for year in range(years_in_period):
    yearly_rain = 0
    print('Year', year+1) 
    print('−−−−−−−−−−−−−−−−−')
    for month in range(number_of_months):
        print('Month', month+1, end='')
        monthly_rain = float(input("Please enter rainfall for this month: \n"))
        yearly_rain += monthly_rain
        average_yearly_rainfall = yearly_rain / number_of_months
    print("Average yearly rainfall of year ", year+1, " is ", average_yearly_rainfall)
    print("Year total rain is", yearly_rain)
    print()

1 Ответ

0 голосов
/ 14 ноября 2018

Если я понял, что вы хотите (чтобы рассчитать абсолютное среднее количество осадков за период), это должно сработать:

number_of_months = 3
years_in_period = int(input("Please enter the number of years in the period. \n"))

total_rain = 0

for year in range(years_in_period):
    yearly_rain = 0
    print('Year', year+1) 
    print('−−−−−−−−−−−−−−−−−')

    for month in range(number_of_months):
        print('Month', month+1, end='')
        monthly_rain = float(input("Please enter rainfall for this month: \n"))

        yearly_rain += monthly_rain

        total_rain += monthly_rain

        average_yearly_rainfall = yearly_rain / number_of_months

    print("Average yearly rainfall of year ", year+1, " is ", average_yearly_rainfall)
    print("Year total rain is", yearly_rain)
    print()


total_months = years_in_period * number_of_months
print("Absolute average of rain/month was", total_rain/total_months)
print("Absolute average of rain/year was", total_rain/years_in_period)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...