2015-01-15 2 views
-4

У меня возникли проблемы с простой викториной python, которая случайно генерирует ответы и операторы. Я довольно новичок в python, и это так сложно, как я могу получить. Программа будет работать без ошибок, но не будет любая помощь была бы оценена.Случайные проблемы с арифметическими задачами

Вот код (взято из How can I randomly choose a maths operator and ask recurring maths questions with it?):

import random 
import time 

def randomCalc(): 
    ops = {'+':operator.add, 
      '-':operator.sub, 
      '*':operator.mul, 
      '/':operator.truediv} 
    num1 = random.randint(0,12) 
    num2 = random.randint(1,10)  
    op = random.choice(list(ops.keys())) 
    answer = ops.get(op)(num1,num2) 
    print('What is {} {} {}?\n'.format(num1, op, num2)) 
    return answer 

def askQuestion(): 
    answer = randomCalc() 
    guess = float(input()) 
    return guess == answer 

def quiz(): 
    print('Welcome. This is a 10 question math quiz\n') 
    score = 0 
    for i in range(10): 
     correct = askQuestion() 
     if correct: 
      score += 1 
      print('Correct!\n') 
     else: 
      print('Incorrect!\n') 
    return 'Your score was {}/10'.format() 
+0

Вызовите свои функции –

+0

@Cyber ​​Почему вы не вызвали функцию в своем ответе. OP отвратительно с вами;) –

+1

@BhargavRao Извините! Я еду на свой компьютер прямо сейчас, чтобы напечатать его для них! – CoryKramer

ответ

2

Вам нужно вызвать функцию quiz() на верхнем уровне вашего кода:

quiz() 

Вы также отсутствующей:

import operator 
1

Вызовите свои функции, добавив в конце оператор вызова. quiz()

Python не как C или любой другой язык, который автоматически вызывает метод main

Как заметил NPE, вы изменили import operator к import time. Измените его.

Смежные вопросы