파이썬 초보자 투표 프로그램 프로젝트

조회수 3013회

투표 인원을 입력 받고 그 입력 받은 수를 화용해서 반복문 사용해서 기호i번 입력받고 받은 문자를 어팬드 사용해서 리스트에 넣고 투표리스트 보여주고 당신의 선택은 무엇이냐고 묻고 투표 받은 것을 취합해서 1등 2등 3등을 보여줄려고 했는데 뭐가 이상한것인지 계속 에러만 뜨네요 밑에 코드는 제가 뭘 하고자 했는지만 아는 용도로 사용해주시고 어떻게 해야하는지 알려주세요ㅜㅜ

i=1

j=0

list1=[]

a=int(input("투표 인원:"))

for i in (1,a):

  b=int(input("기호",i,"번:"))

 list1.append(b)

 i=i+1

print("=============투표 List===========")

for j in list1:

 for k in (1,a):

c=int(input("기호",k,"번:",j))

 k=k=1

 j=j+1

print("==================================")

d=int(input("당신의
선택은?(숫자로) :"))

1 답변

    1. 올리신 코드를 돌려보니 indent(들여쓰기)에러가 있네요. python은 indent로 제어문의 범위를 조절하기 때문에 엄격하게 indent를 체크합니다. 들여쓰기를 맞추세요. pep8에 권고에 따라 indent는 space bar 4개로 하시길 바랍니다.
    2. for i in (1,a):를 무슨용도로 쓰셨나 의아했는데 i=i+1을 쓰신걸 보니 반복문을 사용하고 싶으셨나보군요. for i in range(1,a):가 맞습니다. for문의 기본적인 사용법을 좀 더 학습하시길 바랍니다.
    >>> for i in (1,4):
        print(i)
    
    1
    4
    >>> for i in range(1,4):
        print(i)
    
    1
    2
    3
    

    일단 2가지 먼저 잡아보시면 나머진 차근차근 해결해 나갈 수 있겠네요.

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 코드를 붙여넣기를 했는데 한줄로 변해서 엔터 누르니까 보기 쉽게 되길래 들여쓰기를 확인을 하지 못했네요 죄송합니다. 제가 위에 것을 어느정도 해결하였는데 밑에 내려와 보니 제일 투표를 많이 받은 쪽을 뽑아내는 법을 모르겠더라구요 혹시 알려주실 수 있나요? 알 수 없는 사용자 2017.6.20 00:43
    • 음... 저라면 key를 후보의 번호, value를 표를 받은 수로 하는 딕셔너리를 만들고, 투표를 받을때마다 값을 +1 시키겠네요. 그리고 value가 가장큰 값을 받아오는 함수를 따로 만들거 같아요. 알 수 없는 사용자 2017.6.20 14:00

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

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

(ಠ_ಠ)
(ಠ‿ಠ)