2012-06-08 17 views
0

程序的目標是使它乘以兩個小於12的隨機數並讓用戶猜測答案。到目前爲止,我有這個。 。 。在python中製作一個基本的乘法程序

import random 

g=0 
while g<10: 
    variable_1 = random.randint (0,13) 
    variable_2 = random.randint (0,13) 

    answer = variable_1 * variable_2 
    guess = input("What is 'variable_1' x 'variable_2'?") 

    if guess == answer: 
     print "Correct!" 
    else: 
     print "Incorrect!" 

問題是輸入框字面上寫着「什麼是Variable_1 x Variable_2?」。但是,我希望它具有輸入框中變量的值。有沒有辦法做到這一點?

+0

'randrange(12)'選擇'0 <= X <12'。你的代碼也會有錯誤地選擇12,13 – jfs

+0

你不會增加'g'。這個程序應該無限循環嗎? –

回答

1
querystr="What is "+str(variable_1)+" x "+str(variable_2)+"?"; 

然後就可以

guess=input(querystr); 
6

嘗試此代替:

guess = input("What is %d x %d?" % (variable_1, variable_2)) 
+0

爲什麼不在這種情況下%i? – Junuxx

+0

我不認爲%i表示任何東西。 %d表示十進制整數。可用類型的列表在http://docs.python.org/library/string.html#formatspec –

+2

使用'int(raw_input(...))'而不是'input()' – jfs

1
from random import randint 

def val(lo=1, hi=12): 
    return randint(lo, hi) 

def main(): 
    right = 0 
    reps = 10 
    for rep in range(reps): 
     v1, v2 = val(), val() 
     target = v1 * v2 

     guess = int(raw_input("What is {} * {}?".format(v1, v2))) 

     if guess==target: 
      print("Very good!") 
      right += 1 
     else: 
      print("Sorry - it was {}".format(target)) 

    print("You got {}/{} correct.".format(right, reps))