Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import sys
- class Question():
- def __init__(self, q, a, c):
- self.question = q
- self.answers = a
- self.correct = c
- class Quiz():
- def __init__(self, entries):
- self.entries = entries
- print('Witamy w grze')
- def loadQuestions(self,fileName):
- self.entries = []
- try:
- with open(fileName, 'r') as file:
- data = file.readlines()
- except IOError:
- print ('Nie można otworzyc pliku')
- sys.exit(1)
- for i in range(0, len(data), 4):
- q = data[i].rstrip()
- a = data[i + 1].rstrip().split(';')
- c = data[i + 2].rstrip()
- self.entries.append(Question(q, a, c))
- def askQuestion(self, question, answers):
- print(question)
- random.shuffle(answers)
- self.printAnswers(answers)
- print('Twoja odpowiedź to (wpisz literę):')
- self.userAnswer = input()
- def printAnswers(self, answers):
- for i in range(len(answers)):
- print('{}) {}'.format(chr(i + 97), answers[i]))
- def getCorrectLetter(self, answers, correct):
- return chr(answers.index(correct) + 97)
- def printScore(self):
- print('Koniec gry!')
- print('')
- print('Łączna suma zdobytych punktów:')
- print(sum(self.points))
- print('Tabela wyników:')
- header = 'Numer pytania |zdobyte punkty|'
- print(header)
- print('-' * len(header))
- for i in range(len(self.points)):
- print('{:^13d} |{:^14d}|'.format((i + 1), self.points[i]))
- print('-' * len(header))
- def start(self):
- self.points=[]
- self.loadQuestions(file)
- for entry in self.entries:
- self.askQuestion(entry.question, entry.answers)
- correctLetter = self.getCorrectLetter(entry.answers, entry.correct)
- if correctLetter == self.userAnswer:
- self.points.append(1)
- else:
- self.points.append(0)
- print('')
- file = sys.argv[1]
- game = Quiz(file)
- game.start()
- game.printScore()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement