2017-10-23 1 views
0

사용자 입력 목록에서 빨간색을 입력하지 않으면 "빨간색 : 0"이 출력되지 않습니다. 내가 말을 입력하면 출력이 될 것 "블루 그린 화이트 블랙 실버 실버 실버 블루 실버 블랙 실버 화이트 흰색 은색 흰색 흰색 노란색, 빨간색 빨간색은 빨간색"붉은 : 3 파란색 : 내가하고 싶은 2목록에없는 목록 항목을 계산할 때 0을 인쇄하십시오.

. 내가 그 목록에서 빨간색의를 가지고가는 경우 출력은 다음과 같습니다 블루

: 2 .... 나는 그것이 싶습니다 :

빨간색 : 0 파란색 : 2

colors = [] 
cars = input("Cars: ") 
colors.append(cars) 
if "red" in cars: 
    for color in colors: 
    print("red:", cars.count("red")) 
if "blue" in cars: 
    print("blue:", cars.count("blue")) 
+0

사용'collections.Counter' : 그런 다음 그래서 최종 코드는 다음과 같은 것입니다, 당신은 if 문을 제거 할 필요도 붉은 결과를 인쇄 할 수 있습니다. –

답변

0

왜 if 및 for 절을 사용합니까? 그들은 필요하지 않은 그들을 건너 뛰는 것은 문제 해결 : 나는 당신이 당신의 입력 문자열의 목록을 작성하는 분할 방법을 사용하는 것이 좋습니다

colors = [] 
cars = input("Cars: ") 
colors.append(cars) 
print("red:", cars.count("red")) 
print("blue:", cars.count("blue")) 
3

작업

cars = input("Cars: ") 
print("red:", cars.count("red")) 
print("blue:", cars.count("blue")) 

DEMO :

귀하의 예제 코드 떨어져, 당신이 오직 할 필요가있는 if의 제거입니다
>>> Cars: blue green white black silver silver silver blue silver black silver white white silver white white yellow red red silver red 
red: 3 
blue: 2 

>>> Cars: blue green white black silver silver silver blue silver black silver white white silver white white yellow 
red: 0 
blue: 2 
+0

오, 당신은 더 빨리 ... – xanoetux

0

합니다. 단어의 갈라 목록

colors = [] 
cars = input("Cars: ") 
colors = cars.split() 
print("red:", colors.count("red")) 
print("blue:", colors.count("blue")) 
+0

위대한! 잘 작동합니다! 이제 내 문제는 빨간색이라는 단어가 "붉어지는"등의 단어에 포함되어 있으면 계산하지 않는다는 것입니다 ..... – hendro3

+0

당신이 원하는 것을하기 위해 필요한 것을 세는 새로운 기능을 정의하십시오. '데프 카운트 (목록, 컬러) : N = 목록의 항목에 대해 0 : 경우 항목의 색상 : N = N + 1 반환 n' 그리고 인쇄가 될 것이다 (파란색에 대한 동일) : 'print ("red :", counts (colors, "red")' –

+0

코멘트 형식이 약간 혼란 스럽지만 유감 스럽지만이게 어떻게 작동하는지 잘 모른다면 유감입니다. . (들여 쓰기주의) –

관련 문제