2017-12-28 86 views
-3

私は弟の数学を教えるプログラムを作成しています。しかし、たとえば、プログラムが2 + 2と言っているときに4と入力すると、「間違っている!」と表示されます。私は間違って何をしていますか?Python数学の問題

import random 
import math 

def addition(): 
    num1 = random.randint(1, 100) 
    num2 = random.randint(1, 100) 
    result = num1 + num2 
    guess = input(str(num1) + " + " + str(num2) + " = ")#this is the line with problem 
    if guess == result: 
     print("Correct!") 
    if guess != result: 
     print("Incorrect!") 
addition() 
+3

をあなたは 'int'に' guess'を変換するのを忘れていました。 –

+2

[数字の推測、真か偽か]の可能な重複? Python](https://stackoverflow.com/questions/5524990/guessing-a-number-true-or-false-python) – fredtantini

答えて

5

result整数(例えば、4)であり、そしてinputed推測は、文字列(例えば、 '4')。それらを比較するには、それらを同じタイプに変換する必要があります。例えば:

result = str(num1 + num2) 
+0

お待ちください... –

+0

ありがとうございました!あなたは私を助けました! –

+0

今、別の問題があります...プログラムが閉じられていない間に、プログラムで乱数をループにする方法を教えてください。 –

1

guess = int(input(str(num1) + " + " + str(num2) + " = ")) 
1

をintに答えをラップはintinput型キャスト:

import random 
import math 
def addition(): 
    num1 = random.randint(1, 5) 
    num2 = random.randint(1, 5) 
    result = num1 + num2 
    guess = input(str(num1) + " + " + str(num2) + " = ") 
    guess = int(guess) #input is string and it must be typecast to int 
    if guess == result: 
     print("Correct!") 
    if guess != result: 
     print("Incorrect!") 
addition()