2016-01-20 3 views
0

В этом коде я пытаюсь случайным образом создавать вопросы разделения для начального школьного возраста (10 лет), поэтому я не хочу никаких остатков, когда он делится. Это код, который у меня есть, но я не уверен, как это сделать.Как разделить без остатков на Python

 for i in range (0,2) : 
     import random 
     number1 = random.randint (20,30) 
     number2 = random.randint (2,5) 
     answer4 = (number1/number2) 
     question4 = int(input('What is %d/%d?: ' %(number1, number2))) 
     if question4 == answer4: 
      print ('Well done') 
      score += 1 
     else: 
      print ('Wrong! The answer is %d' %(answer4)) 
    print ('You have finished the quiz! Well done!') 
    print ('Your overall score is %d out of 10' %score) 

Это часть части большего викторины с другими вопросами, но я не был уверен в этой части, так что любая помощь будет приветствоваться.

+0

Как и в, вы хотите, чтобы числитель был кратным знаменателю? Почему бы не просто взять случайный кратный знаменатель, то? – user2357112

+0

@ user2357112 спасибо –

ответ

1

Просто рандомизации number2 и ответ, а затем умножить, чтобы получить number 1

number2 = random.randint(2,5) 
answer4 = random.randint(20//number2, 30//number2) 
number1 = number2*answer4 
+0

okay спасибо, я попробую это :) –

+0

это сработало, и теперь у меня есть полная викторина :) Спасибо за помощь –

0

вы можете сделать 2 // 5 и получить 2 вместо 2.5 вы получите с 2/5

До тех пор, пока вы в Python 3

вы также можете использовать этаж (2/5).

Оба способа сделать это дать вам слово округлены ответа

+0

okay спасибо, я буду использовать это в будущем –

0

В Python 3, стандартный оператор деления / будет делать «реальное» деление, в то время как оператор // будет делать целочисленное деление.

+0

okay спасибо, что имеет смысл –

0

Используйте умножение, чтобы прибыть на номер.

import random as r 
for i in range(0,2): 
    num1 = r.randrange(2,6) 
    num2 = r.randrange(2,6) 
    print ("What is {}/{}".format(num1*num2,num2)) 
    if int(input()) == num1: 
     print("Correct") 
    else: 
     print("Wrong, the answer is {}".format(num1)) 

При этом фактор всегда будет целым числом.

+0

Спасибо за помощь ответ –

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