Code of AI

[wrtn(뤼튼)] 상식문제 만들기 파이썬 코드

별별AI 2023. 9. 13. 21:58
728x90

중학생 수준의 상식 문제 10개를 오지선다형으로 만들도록 파이썬 코딩해줘


 

아래는 파이썬을 사용하여 중학생 수준의 상식 문제 10개를 오지선다형으로 생성하는 예시 코드입니다. 코드를 실행하면 문제와 보기가 자동으로 생성됩니다.

 

 

import random
import string

def generate_questions():
    questions = []
    
    for i in range(1, 11): # 10개의 문제 생성
        question = {}
        
        # 랜덤한 상식 문제 생성 (예시로 간단한 덧셈 문제 사용)
        num1 = random.randint(10, 100)
        num2 = random.randint(10, 100)
        
        question['문제 번호'] = i
        question['문제'] = f"다음 중 두 수의 합은 얼마인가요? {num1}, {num2}"
        
        options = [num1 + num2] # 정답 추가
        
        while len(options) < 5:
            option = random.randint(-200, 200) # -200부터 200까지 범위에서 랜덤한 숫자 선택
            
            if option not in options: # 중복된 보기 제거
                options.append(option)
        
        random.shuffle(options) # 보기 순서 섞기
        
        for j in range(len(options)):
            question[f'보기 {string.ascii_uppercase[j]}'] = options[j]
            
        questions.append(question)
    
    return questions

# 상식 문제 생성 및 출력
questions = generate_questions()

for question in questions:
    print(f"문제 번호: {question['문제 번호']}")
    print(f"문제: {question['문제']}")
    
    for key, value in question.items():
        if key.startswith('보기'):
            print(f"{key}: {value}")
    
    print()

 

 

이 코드는 generate_questions() 함수를 호출하여 상식 문제와 보기를 자동으로 생성합니다. questions 변수에는 모든 문항과 관련된 정보가 포함되어 있습니다. 이후 반복문을 통해 각각의 문항을 출력할 수 있습니다.

참고: 이 예시에서는 간단한 덧셈 문제를 사용했습니다. 다른 유형의 상식 질문을 만들려면 조건과 로직을 수정해야 할 수도 있습니다.

 


결과 확인

 

 

문제 번호: 1
문제: 다음 중 두 수의 합은 얼마인가요? 11, 86
보기 A: 180
보기 B: 44
보기 C: -82
보기 D: 97
보기 E: -155

문제 번호: 2
문제: 다음 중 두 수의 합은 얼마인가요? 27, 17
보기 A: -41
보기 B: -163
보기 C: -152
보기 D: 9
보기 E: 44

문제 번호: 3
문제: 다음 중 두 수의 합은 얼마인가요? 47, 13
보기 A: 21
보기 B: -82
보기 C: 0
보기 D: -43
보기 E: 60

문제 번호: 4
문제: 다음 중 두 수의 합은 얼마인가요? 14, 94
보기 A: 83
보기 B: -164
보기 C: -34
보기 D: -76
보기 E: 108

문제 번호: 5
문제: 다음 중 두 수의 합은 얼마인가요? 36, 71
보기 A: 120
보기 B: 107
보기 C: 3
보기 D: 91
보기 E: 53

문제 번호: 6
문제: 다음 중 두 수의 합은 얼마인가요? 16, 98
보기 A: 7
보기 B: 175
보기 C: -57
보기 D: 114
보기 E: -7

문제 번호: 7
문제: 다음 중 두 수의 합은 얼마인가요? 70, 11
보기 A: 1
보기 B: -60
보기 C: 81
보기 D: -149
보기 E: 80

문제 번호: 8
문제: 다음 중 두 수의 합은 얼마인가요? 44, 99
보기 A: 87
보기 B: 143
보기 C: -68
보기 D: 134
보기 E: 45

문제 번호: 9
문제: 다음 중 두 수의 합은 얼마인가요? 89, 80
보기 A: -154
보기 B: -79
보기 C: -200
보기 D: 89
보기 E: 169

문제 번호: 10
문제: 다음 중 두 수의 합은 얼마인가요? 51, 38
보기 A: -3
보기 B: 151
보기 C: 89
보기 D: -153
보기 E: 55

 


중학생에 어울리지 않는 덧셈 문제만 만들어짐

728x90