2015-03-28 4 views
-1

Мне нужно, чтобы моя функция деления работала на python, как я могу получить ее так, чтобы она задавала вопрос о разделении, только если результат является целым числом, и округление не выполняется? моя функция деления выглядит следующим образом:Обнаружение числового типа результата

def division(): 
    global Question 
    global correct 
    global incorrect 
    Question = Question + 1 
    print ("________________________________________________________________________________") 
    print ("Ok Then, This is question:", Question,) 
    number = (random.randint (12,24) * level) 
    second_number = (random.randint(2,12)* level) 
    print (number,"/",second_number) 
    answer = number//second_number 
    guess = input() 
    if guess == str (answer): 
     print('Correct!') 
     correct = correct + 1 
    elif guess != str(answer): 
     print("Sorry, but that's wrong!The answer was:", answer, "Onto the next question then!") 
     incorrect = incorrect +1 

прямо сейчас, я получаю вещи, как 0/4 объявления 17/9, чтобы назвать несколько, так как я могу получить его, чтобы задать только вопросы, которые на самом деле способный без округления?

ответ

1

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

что-то вроде:

1) Случайным выберите целочисленный результат (Допустим, "база")

2) Умножить "основа" другим случайным целым числом (Допустим, "несколько")

3) Затем задайте вопрос как числитель = «base» * «multiple» и знаменатель = «множественный»

Вы можете сделать это очень эффективно и быстро в своем коде, я бы предоставил вам его, но я считаю, что это более полезно предоставить алгоритм, а не сообщать вам как это сделать.

+0

Хорошо, не пропустите это, спасибо! – Nash

+0

Это сработало! Благодаря! – Nash

+0

Удивительный! Congrats! –