0

合計降雨量をインチ単位で集計して合計を表示しようとしていますが、コードを実行すると、「'float' オブジェクトは反復可能ではありません」という TypeError が表示されます。私が何を間違えたのか分かりますか?

months = 12

def main():

    rain = get_rain()

    total = get_total(rain)

    avg = total / len(rain)

    low = min(rain)

    high = max(rain)

    print('The total rainfall in inches for the year is: ', format(total, ',.2f'))
    print()
    print('The average monthly rainfall this year was: ', format(avg, ',.2f'))
    print()
    print('The lowest rainfall in inches this year was: ', format(low, ',.2f'))
    print()
    print('The highest rainfall in inches this year was: ', format(high, ',.2f'))
    print()

def get_rain():

    rain_in = []

    print('Enter the amount of rainfall in inches for each month of the year.')
    print('------------------------------------------------------')

    for index in range(months):
          print('Enter the total rainfall in inches for month #', index + 1, ': ', sep='', end='')
          rain_inches = float(input())

          rain_in.append(rain_inches)

    return rain_inches

def get_total(rain_in_list):

          total = 0.0

          for num in rain_in_list:
              total += num

          return total

main()

トレースバック:

Traceback (most recent call last):
  File "C:/Users/Robert Rodriguez/Desktop/fall 2013-2014/Intro-python/python6/exercise8-3.py", line 50, in <module>
    main()
  File "C:/Users/Robert Rodriguez/Desktop/fall 2013-2014/Intro-python/python6/exercise8-3.py", line 9, in main
    total = get_total(rain)
  File "C:/Users/Robert Rodriguez/Desktop/fall 2013-2014/Intro-python/python6/exercise8-3.py", line 45, in get_total
    for num in rain_in_list:
TypeError: 'float' object is not iterable

正しい方向へのほんの少しのプッシュでも役立ちます。私はこれを理解する端にいるように感じます。

4

1 に答える 1

2

get_rainあなたの帰りに

return rain_inches #float

それ以外の

return rain_in #list
于 2013-11-09T21:45:54.887 に答える