파이썬 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학년 교양과목으로 파이썬을 듣고 있는데 전공이 사회과학 쪽
이라서 진짜 파이썬에 대해 하나도 몰라요ㅠㅠㅠ 제발 꼭 도와주세요!!
파이쎤은 들여쓰기를 이용하여 수행할 문장들을 결정합니다.
그래서 들여쓰기를 하느냐 안하느냐에 따라 문장의 수행이 달라지게 됩니다.
위 소스가 들여쓰기가 보이지 않지만 추측컨데 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 짝.. 이렇게 숫자를 주고 받는거 같은데 어떻게 작동하길 원하는지 모르겠네요