평균구하기 문제질문

조회수 1242회
text=input("단어를 입력하세요:")
result=text.split()
total_length=sum(len(result))
average_length= total_length/len(list)
print('평균길이는:',average_length)

평균구하는 문제를 풀려고 이런식으로 만들어봤는데 "int' object is not iterable"이런 오류가 뜨고 찾아보니까 리스트값은 sum이 안된다는 오류가 뜨는거 같은데 어떠한 길이의 리스트를 계속 더할려면 sum말고는 무엇을 써야할까요?len(result[0])+..len(result[n])같은건 안되겠죠..? 파이썬 배운지 며칠안되서 아는 함수가 없으니 좀 막막하네요.

2 답변

  • 이런걸 원한건가요

    sentence = input()  # 'i am a student'
    word = sentence.split()  # ['i', 'am', 'a', 'student']
    word_len = [len(w) for w in word]  # [1, 2, 1, 7]
    mean_word_len = sum(word_len) / len(word_len)  # 11 / 4
    print(mean_word_len)  # 2.75
    

    문장을 입력받는데 단어는 space로 구분되어야 합니다.
    문장내 단어들의 평균 길이를 구하는 코드입니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 아아 이렇게 하는 거군요!! 감사합니다! 아직 for이랑 in 을 안배워서.. 공부해야겠어요! 알 수 없는 사용자 2020.4.22 11:31
  • len함수는 list, tuple, string같은 데이터 타입에 사용에 사용하면 길이를 반환합니다.
    즉, 숫자를 반환합니다.
    sum함수는 listtuple같은 데이터 타입의 원소가 숫자일 때 합을 구해주는 함수입니다(예를 들어 sum([1,2,3])와 같이).
    sum(39)와 같이 사용할 수 없다는 의미입니다.
    result = [1, 2, 3]이라면 total_length = sum(len(result))total_length = sum(3)과 같겠죠?
    그러니 오류가 나는 겁니다.
    평균 구하는 거어떠한 길이의 리스트를 계속 더하려면이랑 무슨 관계가 있는지 모르겠지만 리스트를 더하는 거는 아래 예를 참고하세요.

    arr = [1,2,3]
    arr2 = [7,8]
    arr.extend(arr2)
    print(arr)  # [1,2,3,7,8]
    
    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 아 왜 오류가 나는지는 이제 알겠습니다 근데 몇단어를 입력할지 모르는 상태인데 평균을 구할려면 어째야하죠..?어디까지 더해야하는지 모르겠어서요 하나의 변수에서 리스트길이의 총합을 구하고 싶어요! 알 수 없는 사용자 2020.4.21 21:18
    • 하나의 변수에서 리스트 길이의 총합이 뭔지 이해가 안되요... 예시로 입력과 원하는 출력을 적어보세요. 알 수 없는 사용자 2020.4.21 22:20
    • 어떤 문장을 입력하던지 그 문장의 평균길이를 구하고 싶어요! 문장을 split하면 단어끼리 리스트로 나오자나요.그 단어의 길이의 평균을 구하고 싶은건데 입력할 문장이 정해진게 아니니까 리스트를 얼마나 더해야하는지 모르겠어요 알 수 없는 사용자 2020.4.21 23:10

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)