안녕하세요. 슈가 입니다.
이 프로그램은 CSV 파일에 저장된 질문을 사용하여 수도 맞추기 퀴즈를 실행하는 간단한 파이썬 프로그램입니다.
다음은 프로그램의 작동 방식에 대한 설명입니다.
1. 'quiz.csv' 파일에서 질문을 불러옵니다.
2. 각 행에는 질문과 4개의 답변 옵션, 그리고 정답이 포함되어 있습니다.
3. 퀴즈 점수를 추적하기 위해 점수 카운터를 초기화합니다.
4. 질문 목록을 순회하면서 각 질문과 답변 옵션을 출력합니다.
5. 사용자가 1에서 4 사이의 숫자를 입력할 때까지 계속해서 사용자의 답변을 받습니다
6. 'q'를 입력하면 퀴즈가 종료됩니다.
7. 사용자의 답변이 올바른지 확인하고 점수를 업데이트합니다.
8. 모든 질문을 마치면 최종 점수를 출력합니다.
9. 프로그램을 실행하려면 위 코드를 사용하고 'quiz.csv' 파일을 생성하여 질문과 답변 옵션을 저장해야 합니다. 올바른 수도를 포함한 나라 이름과 대응하는 질문을 사용하여 파일을 작성하세요.
프로그램 : https://www.python.org/ 홈 방문
Downloads에 본인 pc os에 맞는 버전 다운로드
슈가는 python 3.10 32bt 사용
에디터 : Visual Studio Code 사용
1. 문제 1 예제 1~4 중 한 개를 선택
2. 예제 1~4 외 다른 키가 눌렀을 경우
" 잘못 입력되었습니다. 1에서 4 사이의 숫자를 입력하세요. "
3. 문제 출제 중 중단하고 싶을 때 Q 버는 클릭 시 프로그램(게임) 종료
4. DB는 CSV로 작성
csv는 , 로 구분하여 db를 읽어 드립니다.
5. 문제 풀이 시
정답일 때는 => "정답입니다!"
틀릴 경우 = "틀렸습니다. 정답은 OO번입니다."
6. 문제 풀이가 끝날경우
"최종 점수는 정답 OO / 총 문제수 OO입니다."
7. DB는 quiz.csv로 파일명 저장 (uft-8 형식으로 저장)
각 나라 이름과 각 나라의 수도를 저장
아래는 파이썬 코드(quiz.py)입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import csv def run_quiz(): # Initialize the score counter score = 0 # Load questions from the CSV file questions = [] with open('quiz.csv', 'r', encoding='utf-8') as csvfile: reader = csv.DictReader(csvfile, delimiter=',') for row in reader: questions.append(row) # Loop over the list of questions for i, q in enumerate(questions): # Print the question and answer options print(f"\nQuestion {i+1}: {q['Question']}") print(f"1. {q['Answer1']}") print(f"2. {q['Answer2']}") print(f"3. {q['Answer3']}") print(f"4. {q['Answer4']}") # Get user's answer while True: user_input = input("Please input your answer (1-4), or 'q' to quit: ") if user_input.lower() == 'q': return try: user_answer = int(user_input) if 1 <= user_answer <= 4: break else: print("Invalid input. Please enter a number between 1 and 4.") except ValueError: print("Invalid input. Please enter a number.") # Check the user's answer and update the score if user_answer == int(q['CorrectAnswer']): print("Correct!") score += 1 else: print(f"Wrong. The correct answer was {q['CorrectAnswer']}.") # Print the final score print(f"\nYour final score is {score}/{len(questions)}.") # Run the quiz game run_quiz() | cs |
db (quiz.csv)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
Question,Answer1,Answer2,Answer3,Answer4,CorrectAnswer
"아프가니스탄의 수도는?", 마자르이샤리프, 칸다하르, 헤라트, 카불, 1
"아르헨티나의 수도는?", 로사리오, 멘도사, 부에노스아이레스, 코르도바, 3
"캐나다의 수도는?", 캘거리, 밴쿠버, 오타와, 토론토, 3
"중국의 수도는?", 상하이, 베이징, 심천, 광저우, 2
"이집트의 수도는?", 알렉산드리아, 슈브라엘케마, 카이로, 기자, 3
"프랑스의 수도는?", 툴루즈, 마르세유, 파리, 리옹, 3
"독일의 수도는?", 뮌헨, 프랑크푸르트, 함부르크, 베를린, 4
"인도의 수도는?", 뉴델리, 콜카타, 뭄바이, 첸나이, 1
"인도네시아의 수도는?", 수라바야, 자카르타, 반둥, 메단, 2
"이란의 수도는?", 이스파한, 마슈하드, 카라지, 테헤란, 4
"이라크의 수도는?", 바그다드, 바스라, 모술, 아르빌, 1
"이탈리아의 수도는?", 토리노, 나폴리, 밀라노, 로마, 4
"일본의 수도는?", 나고야, 도쿄, 요코하마, 오사카, 2
"케냐의 수도는?", 몸바사, 나쿠루, 키수무, 나이로비, 4
"멕시코의 수도는?", 과달라하라, 멕시코시티, 푸에블라, 몬테레이, 2
"파키스탄의 수도는?",이슬라마바드,카라치,라호르,파이살라바드,2
"페루의 수도는?",리마,아레키파,트루히요,치클라요,4
"필리핀의 수도는?",마닐라,케손시티,세부시티,칼루칸,1
"러시아의 수도는?",모스크바,상트페테르부르크,카잔,노보시비르스크,2
"사우디아라비아의 수도는?",리야드,제다,메카,메디나,1
"남아프리카공화국의 수도는?",프리토리아,케이프타운,요하네스버그,더반,3
"대한민국의 수도는?",서울,부산,대구,인천,1
"스페인의 수도는?",마드리드,바르셀로나,발렌시아,세비야,1
"태국의 수도는?",방콕,치앙마이,논타부리,나콘라차시마,1
"터키의 수도는?",앙카라,이스탄불,이즈미르,부르사,2
"아랍에미리트의 수도는?",아부다비,두바이,샤르자,알아인,3
"영국의 수도는?",런던,맨체스터,버밍엄,글래스고,1
"베트남의 수도는?",하노이,호치민,깐토,다낭,2
"아프가니스탄의 수도는?", 카불, 헤라트, 칸다하르, 마자르이샤리프,2
"앙골라의 수도는?", 루안다, 후암보, 로비투, 벵겔라,3
"호주의 수도는?",캔버라,시드니,멜버른,브리즈번,2
"오스트리아의 수도는?",비엔나,그라츠,린츠,잘츠부르크,1
"벨라루스의 수도는?",민스크,고멜,모길레프,비쳅스크,4
"벨기에의 수도는?", 브뤼셀, 앤트워프, 겐트, 샤를루아,1
"브라질의 수도는?", 브라질리아, 상파울루, 리우데자네이루, 벨루오리존치,2
"캄보디아의 수도는?",프놈펜,바탐방,씨엠립,시아누크빌,1
"크로아티아의 수도는?",자그레브,스플리트,리예카,오시예크,2
"체코의 수도는?",프라하,브르노,오스트라바,플젠,1
"덴마크의 수도는?", 코펜하겐, 오르후스, 오덴세, 올보르,2
"도미니카공화국의 수도는?",산토도밍고,산티아고,라로마나,푸에르토플라타,3
"에콰도르의 수도는?",키토,과야킬,쿠엥카,만타,4
"이집트의 수도는?",카이로,알렉산드리아,기자,슈브라엘케마,1
"에티오피아의 수도는?",아디스아바바,디레다와,메켈레,곤다르,2
"핀란드의 수도는?",헬싱키,탐페레,투르쿠,오울루,3
"그리스의 수도는?", 아테네, 테살로니키, 파트라스, 이라클리오,1
"아이티의 수도는?",포르토프랭스,델마스,페티옹빌,시테솔레유,1
"온두라스의 수도는?", 테구시갈파, 산페드로술라, 라세이바, 콜로마,1
"헝가리의 수도는?",부다페스트,데브레첸,세게드,미슈콜츠,1
"아일랜드의 수도는 무엇입니까?", 더블린, 코크, 리머릭, 골웨이,1
"이스라엘의 수도는?",예루살렘,텔아비브,하이파,리손레지온,2
"자메이카의 수도는?",킹스턴,몬테고베이,맨더빌,포트모어,1
"요르단의 수도는?",암만,이르비드, 자르카, 루세이파,1
"카자흐스탄의 수도는?", 누르술탄(이전 아스타나), 알마티, 카라간디, 쉼켄트,2
"쿠웨이트의 수도는?",쿠웨이트 시티, 알 아흐마디, 하왈리, 아스 살리미야,2
"레바논의 수도는?",베이루트,트리폴리,시돈,타이레,3
"모로코의 수도는?",라바트,카사블랑카,페스,탕헤르,2
"말레이시아의 수도는?",쿠알라룸푸르,조지타운,조호바루,쿠칭,1
"멕시코의 수도는?",멕시코시티,과달라하라,몬테레이,푸에블라,1
"모잠비크의 수도는?",마푸토,마톨라,베이라,남풀라,1
"모리셔스의 수도는?", 포트루이스, 보 분지-로즈 힐, 바코아스-피닉스, 쿠레피페,1
"미얀마의 수도는?", 네피도, 양곤, 만달레이, 모울메인,3
"네팔의 수도는?",카트만두,포카라,비라트나가르,비르군지,1
"니카라과의 수도는?", 마나과, 레온, 마사야, 치난데가,1
"노르웨이의 수도는?", 오슬로, 베르겐, 트론헤임, 스타방에르,1
"북한의 수도는?",평양,함흥,청진,남포,1
"네덜란드의 수도는?",암스테르담,헤이그,로테르담,위트레흐트,1
"뉴질랜드의 수도?",웰링턴,오클랜드,크라이스트처치,해밀턴,1
"북한의 수도는?",평양,함흥,청진,남포,2
"노르웨이의 수도는?", 오슬로, 베르겐, 트론헤임, 스타방에르,1
"파키스탄의 수도는?",이슬라마바드,카라치,라호르,파이살라바드,1
"파나마의 수도는?",파나마시티,산미구엘리토,토쿠멘,다비드,1
"파푸아뉴기니의 수도는?",포트모르즈비,라에,아라와,마운트하겐,1
"파라과이의 수도는?", 아순시온, 동방의 도시, 산 로렌초, 루케,1
"페루의 수도?",리마,아레키파,트루히요,치클라요,1
"필리핀의 수도?", 마닐라, 케손시티, 세부시티, 칼루칸,1
"미국의 수도는?",워싱턴 D.C.,뉴욕,시카고,켈리포니아,1
"방글라데시의 수도는 무엇입니까?", 쿨나, 라즈샤히, 다카, 치타공, 3
"콜롬비아의 수도는 무엇입니까?", 메데인, 바란킬라, 칼리, 보고타, 4
"나이지리아의 수도는 무엇입니까?", 라고스, 카노, 아부자, 이바단, 3
"수단의 수도는?", 카르툼, 오므두르만, 카살라, 포트수단, 1
"우크라이나의 수도는 무엇입니까?", 키예프, 하르키우, 드니프로, 오데사, 2
"예멘의 수도는?", 사나, 아덴, 타이즈, 호데이다, 3
"불가리아의 수도는?", 소피아, 플로브디브, 바르나, 부르가스, 1
"카메룬의 수도는?", 야운데, 도우알라, 가루아, 바멘다, 2
"칠레의 수도는?", 산티아고, 발파라이소, 콘셉시온, 테무코, 1
"코스타리카의 수도는?", 산호세, 리몬, 헤레디아, 알라흐엘라, 1
"쿠바의 수도는?", 하바나, 산티아고데쿠바, 카마귀, 올긴, 1
"과테말라의 수도는?", 과테말라시티, 케첸, 에스퀸틀라, 치말텐앙고, 2
"아이슬란드의 수도는 어디입니까?", 레이캬비크, 코파보구르, 합나프요르뒤르, 아쿠레이리, 1
"나이지리아의 수도는 무엇입니까?", 아부자, 라고스, 카노, 이바단, 1
"마다가스카르의 수도는?", 안타나나리보, 투아마시나, 피아나란초아, 마하장가, 1
"니제르의 수도는 무엇입니까?", 니아메이, 진데르, 마라디, 타호아, 1
"말리의 수도는?",바마코,시카소,모티,팀부쿠투,1
"몽골의 수도는?",울란바토르,에르덴트,다르한,초이발산,1
"니제르의 수도는 무엇입니까?", 니아메, 진데르, 마라디, 타호아,1
"나이지리아의 수도는 무엇입니까?",아부자,라고스,카노,이바단,2
"오만의 수도는?",무스카트,소하르,니즈와,사우스,1
|
cs |