2015-12-11 2 views
-2

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

print ("what is your username") 
name = input() .title() 
print (name, "welcome") 
import random 
score=0 
question=0 
for i in range(10): 
    ops = ["+", "-", "*"] 
    num1 = random.randint (0,10) 
    num2 = random.randint (0,10) 
    oparator = random.choice(ops) 
    Q=(str(num1)+(oparator)+(str(num2))) 
    print (Q) 
    guess = input() 
    guess = int(guess) 
    if oparator =='+': 
     answer = (str(num1+num2)) 

    elif oparator =='-': 
     answer = (str(num1-num2)) 

    else: 
     oparator =='*' 
     answer = (str(num1*num2)) 

    if guess == (Q): 
     print ("correct") 
     score + 1 

    else: 
     print ("incorrect") 

Я честно не понимаю, что не так. любая помощь будет очень благодарна p.s Я знаю, что мои коды беспорядок

+0

какой вклад вы дали и какой результат вы получили – The6thSense

+0

Что вы имеете в виду? Я очень новичок в python? –

+0

Каков был вклад, который вы дали программе, и что вы получили от программы? Я очищаю – The6thSense

ответ

3

Вам нужно сравнить догадки с ответом.

print ("what is your username") 
    name = input().title() 
    print (name, "welcome") 
    import random 
    score=0 
    question=0 
    for i in range(10): 
     ops = ["+", "-", "*"] 
     num1 = random.randint (0,10) 
     num2 = random.randint (0,10) 
     oparator = random.choice(ops) 
     Q=(str(num1)+(oparator)+(str(num2))) 
     print (Q) 
     guess = input() 
     guess = int(guess) 
     if oparator =='+': 
      answer = int(str(num1+num2)) # Convert to int 

     elif oparator =='-': 
      answer = int(str(num1-num2)) 

     else: 
      oparator =='*' 
      answer = int(str(num1*num2)) 

     if guess == answer: # Compare user's answer with actual answer 
      print ("correct") 
      score = score + 1 # Update the score 

     else: 
      print ("incorrect") 
Смежные вопросы