파이썬 에이리언 함대 만들기 도와주세요!!!!!
조회수 443회
처음 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]
의 리스트를 뜻합니다.-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력