파이썬 에이리언 함대 만들기 도와주세요!!!!!

조회수 442회

처음 5대는

'speed': 'medium', 'color': 'yellow', 'points': 10

그 다음 5대는

'speed': 'slow', 'color': 'green', 'points': 5

그 다음 5대는

'speed': 'fast', 'color': 'red', 'points': 15

나머지는

'speed': 'slow', 'color': 'blue', 'points': 3

/./

제가 짠 코드입니다.

>>> alien_0 = {'speed': 'medium', 'color': 'yellow', 'points': 10}
>>> alien_1 = {'speed': 'slow', 'color': 'green', 'points': 5}
>>> alien_2 = {'speed': 'fast', 'color': 'red', 'points': 15}
>>> alien_3 = {'speed': 'slow', 'color': 'blue', 'points': 3}
>>> aliens = [alien_0, alien_1, alien_2, alien_3]
>>> for alien in aliens[0:30] :
    if alien['speed']=='medium' :
            alien['color']='yellow'
            alien['points']=10
    elif alien['speed']=='slow' :
            alien['color']='green'
            alien['points']=5
    elif alien['speed']=='fast' :
            alien['color']='red'
            alien['points']=15
    elif alien['speed']=='slow1' :
            alien['color']='blue'
            alien['points']=3
    print(alien)
{'speed': 'medium', 'color': 'yellow', 'points': 10}
{'speed': 'slow', 'color': 'green', 'points': 5}
{'speed': 'fast', 'color': 'red', 'points': 15}
{'speed': 'slow', 'color': 'green', 'points': 5}

총 30대가 나와야하는데 첫번째 / 두번째 / 세번째 각각 1대씩 출력 되었고 마지막은 15대가 출력되어야 하는데 1대만 출력이 됬네요... 어떻게 하면 완성 할 수 있을까요?

1 답변

  • aliens = [alien_0, alien_1, alien_2, alien_3]
    for alien in aliens[0:30] :
    

    aliens라는 리스트에는 4개의 에일리언 밖에 없습니다. 그래서for loop을 0에서 30까지 해도 aliens에는 4개 밖에 없기 때문에 4개만 출력 됩니다.

    for i in range(30): #i 값이 0 부터 29(포함)까지
        if 0 <= i < 5: # i의 값이 0 이상 5 미만 일때
            print(alien0) # 에이리언0을 프린트
        if ...: # 다음 조건
            print(...) # 다른 에일리어
    
    

    위의 range(30)는 [0, 1, 2, 3, ..., 29]의 리스트를 뜻합니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

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

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

(ಠ_ಠ)
(ಠ‿ಠ)