2016-01-20 71 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

好吧謝謝我會試試這個:) –

+0

它的工作,現在我有一個完整的測驗:)感謝您的幫助 –

0

你可以做2 // 5,並獲得2而不是2.5的,你會用2/5

得到,只要你在Python 3

你也可以使用底部(2/5)。

做給你的地板全面的答案

+0

好的,謝謝我將在未來使用 –

0

在Python 3,標準的除法運算/會做「真實」的劃分,而//運營商將做整數除法的兩種方式。

+0

好吧謝謝,這很有道理 –

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

謝謝你的答案 –