아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
기운찬타킨197
기운찬타킨19721.04.18

파이썬 369게임 관련 질문이 있습니다!

number = input("숫자를 입력하세요 : ")

answer = input("답을 입력하세요 : ")

count = 0

for i in number:

if i in ["3", "6", "9"]:

count = count + 1

if count*"짝" == answer:

print("정답1")

else:

print("오답1")

else:

if number == answer:

print("정답2")

else:

print("오답2")

이라고 제가 만들었는데

답이

숫자를 입력하세요 : 33 답을 입력하세요 : 짝짝 오답1 정답1

이라고 나옵니다!

제가 원하는 것은

숫자를 입력하세요 : 33 답을 입력하세요 : 짝짝 정답1

입니다! 즉 그냥 369게임의 결과와 같이 나오는 것을 원하는데 계속 틀립니다! 혹시 잘못된 것을 아시면 가르쳐주세요!!

제가 지금 대학교 1학년 교양과목으로 파이썬을 듣고 있는데 전공이 사회과학 쪽

이라서 진짜 파이썬에 대해 하나도 몰라요ㅠㅠㅠ 제발 꼭 도와주세요!!

55글자 더 채워주세요.
답변의 개수
5개의 답변이 있어요!
  • 파이쎤은 들여쓰기를 이용하여 수행할 문장들을 결정합니다.

    그래서 들여쓰기를 하느냐 안하느냐에 따라 문장의 수행이 달라지게 됩니다.

    위 소스가 들여쓰기가 보이지 않지만 추측컨데 if문을 for문 안에 들여 쓰기를 한것 같네요

    정답2, 오답2는 어떻게 표현하고자 하는건지 몰라서 제외 시켰습니다.

    이미지 첨부 했으니 참고 하세요

    들여쓰기에 유의해서 작성해 보세요

    number = input("숫자를 입력하세요 : ")

    answer = input("답을 입력하세요 : ")

    count = 0

    for i in number:

    if i in ["3", "6", "9"]: #들여쓰기 :for문 안에 속해야 합니다.

    count = count + 1

    if count*"짝" == answer: #여기서 들여쓰기가 되면 안됩니다.for문에 속하지 않기

    print("정답1")

    else:

    print("오답1")


  • 안녕하세요:)

    혹시 질문해주셨던 양식을 써야하는지 알 수 있을까요? 사실 아래 👇 부분이 잘 이해가 안되어서요:)

    else: if number == answer: print("정답2") else: print("오답2")"

    정답1과 정답2의 차이가 뭔지 알았다면 더 많은 도움이 되었을것 같은데..🤔

    각설하고, 저는 아래의 형태로 코드를 작성해보았습니다.

    number=input("숫자를 입력하세요.:") # 숫자를 입력받는 부분 answer=str(input("답을 입력하세요.:")) # 정답을 입력받는 부분 count=number.count('3')+number.count('6')+number.count('9') #입력한 숫자에서 3,6,9의 개수를 count해서 저장하는 변수 if count==len(answer): # 정답의 길이와 count가 일치하면 #ex) number=33 입력 answer=짝짝 입력 → count=2 저장 → len(answer)=2 짝짝이니까요~ → 같으니까 정답1 print("정답1") elif count != len(answer): #같지 않으면 오답1 print("오답1")

    위와 같이 작성해보았습니다~ 정답은 없고 큰 도움이 되었으면 좋겠습니다:ㅇ

    대학교 1학년때부터 파이썬이니 엄청 빠르시네요🤞

    좋은 하루 보내시구요!

    혹시 더 궁금하신 부분이 있으면 문의주세요😁

    c.f FYI : Test Result

    숫자를 입력하세요.:33 답을 입력하세요.:짝짝 정답1

    숫자를 입력하세요.:5 답을 입력하세요.:짝짝 오답1

    숫자를 입력하세요.:369 답을 입력하세요.:짝짝짝 정답1


  • 안녕하세요 질문자님.

    IF문의 else문이 중복된것같고

    for문을 작성하실때에도 만약 33의 숫자를 변수에 넣으셧어도 현재같이

    for i in number:

    위와같이 하시면 33이란 숫자가 i에 대입됨으로 반복하지않고 1회만 수행되기때문에 의미가없습니다.

    for i in range(number):

    이런식으로 바꿔서 코딩을 해보시면 좋을것 같고요.

    if문은 else 를 반복하시지 마시고 if else 로 변경해서 사용해보시길 바랍니다.


  • 안녕하세요.

    number = input("숫자를 입력하세요 : ") answer = input("답을 입력하세요 : ") count = 0 # number에서 자리의 수들을 리스트형으로 만들어 3,6,9가 있는 갯수(count 변수)를 구함 for i in number: if i in ["3", "6", "9"]: count = count + 1 # number의 3,6,9 갯수와 answer의 짝 갯수를 비교하여 정답/오답을 출력 if count * "짝" == answer: print("정답1") else: print("오답1")

    이렇게 하면 원하시는 답입니다.


  • number = input("숫자를 입력하세요 : ")

    answer = input("답을 입력하세요 : ")

    count = 0

    for i in number:

    ....if i in ["3", "6", "9"]:

    ........count = count + 1

    if count*"짝" == answer:

    ....print("정답1")

    else:

    ....print("오답1")

    else: (이 줄은 필요가 없어보이네요)

    if number == answer:

    ....print("정답2")

    else:

    ....print("오답2")

    . 은 스페이스바 하나라고 보고 수정하면 될듯한데요?

    그런데 정답2는 숫자와 숫자를 입력해서 같은때 정답을 말하려는거 아닌가요? 369게임은 1 2 짝 4 5 짝.. 이렇게 숫자를 주고 받는거 같은데 어떻게 작동하길 원하는지 모르겠네요