파이썬에서 숫자로 하는 퀴즈를 만들고 싶은데 어떻게 해야 할지 모르겠어요ㅠㅠ 도와주세요

조회수 983회

저는 외국에서 유학중인 중학생입니다 여기 온지 얼마 되지 않아서 아직 영어가 서툽니다. 최근들어 프로그래밍에 관심이 생겨서 프로그래밍을 배우고 있는데 너무 어려워요 ㅠㅠ 저번주에 함수가 두개가 들어간 퀴즈를 파이썬으로 만들어 오라는 과제를 받았는데 너무 막막합니다.
일단 저는 한국어 숫자 발음? 을 문제로 내고 답을 맞추는 퀴즈를 하기로 했어요.
프로그램을 들어가면 우선 공부 모드로 할지 테스트 모드로 할지 물어보고 공부모드를 선택하면 1부터 10까지 발음과 숫자를 보여줄겁니다.

• 1 일 (IL)
• 2 이 (ee)
• 3 삼 (sahm)
• 4 사 (sah)
• 5 오 (oh)
• 6 육 (yoogh)
• 7 칠 (Chil)
• 8 팔 (Pahl)
• 9 구 (Goo)
• 10 십 (Shib)

이렇게 보여준 다음에 다시 공부할거냐 테스트할거냐 물어본다음에 테스트 한다고 하면 어떤 레밸의 시험을 볼 것이냐 라고 물은 다음에 1,2레벨 중에 선택하게 합니다.
레벨 1에서는 랜덤하게 숫자들의 발음을 프린트 해서 문제를 내고 플래이어가 숫자를 입력해서 문제를 맞추는 형식으로 만들고 싶습니다. 그 다음에 다시 다른 레밸의 시험을 볼 것이냐 라고 물은 다음에 1,2레벨 중에 선택하게 합니다. 2레벨을 선택하면 숫자를 표시하고 발음을 입력하는 형식으로 만들고 싶습니다. 도와주세요 ㅠㅠ

import random 

numbers = [["Il", 1],["Yee", 2],["Sahm", 3],["Sah", 4],["Oh" ,5],["Yough", 6],["Chil", 7],["Pahl", 8],["Goo", 9],["Shib", 10]]

random.shuffle(numbers)

for i in numbers:
    answer = int(input("What is {}: ".format (i[0])))
    if answer == i[1]:
        print("+++++ CORRECT +++++")
    else:
        print("XXXXX INCORRECT XXXXX")

이거밖에 못만들었어요 ㅠㅠ

  • ㅠㅠ 이거 안쓰면 안 됩니까? 어른이잖아요. nowp 2019.8.14 11:04

1 답변

  • 숙제니까 다 알려드릴 수는 없고... 애초에 함수(또는 "메소드")란 게 뭘 하는 무엇인지부터 잡고 가야 할 것 같습니다. 제가 봤을 때 지금 만들어야 할 최소 함수는 2개입니다.

    1. 출제 함수
      • 입력: 몇 레벨의 문제를 출제해야 하는가?
      • 출력: 그 레벨의 문제-답안 목록에서 랜덤 1개의 문제
    2. 채점 함수
      • 입력: 지금 몇 레벨의 무슨 문제에 답을 뭐라고 했는가?
      • 출력: 해당 레벨의 문제-답안 목록에서 해당 문제의 답과 입력된 답의 일치 여부

    그러면 1회의 '테스트'라는 건 이런 순서로 정의됩니다.

    1. 출제함수를 1번 실행해서 문제를 얻는다.
    2. 문제를 사용자에게 출제하고 사용자의 답안 입력을 받는다.
    3. 받은 입력과 기타 정보를 가지고 채점함수를 1번 실행해서 일치 여부를 얻는다.
    4. 그걸로 점수를 매긴다.

    그러면 "공부모드"라는 건, 준비된 문제가 다 떨어질 때까지 테스트를 10번 수행하는 것이겠지요.

    사실 그밖에도 해야 할 작업이나 생각할 거리는 많습니다만... 우선 아래와 같은 함수들부터 그 내용을 생각해 보세요. 모르겠는 것이 있을 땐 울음을 그치고 공부를 하면 되는 일입니다. 하실 수 있어요.

    def give_a_question(level) :
        # 어쩌구 저쩌구...
        # 리턴: 레벨-문제-정답으로 이루어진 리스트
    
    def take_an_answer(level, question, answer) :
        # 이러쿵 저러쿵...
        # 리턴: True 아니면 False
    

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

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

(ಠ_ಠ)
(ಠ‿ಠ)