Arthimatic Quiz nicht akzeptieren korrekte Antworten

Ich versuche, ein Arithmetik-Quiz zu machen, aber habe in dieses Problem gegangen: Auch wenn ich die richtige Antwort eingegeben habe, scheint es, den richtigen Antwortcode zu ignorieren und direkt zum falschen Antwortcode zu gehen. Grundsätzlich akzeptiert es keine richtigen Antworten.

import random num1 = (random.randrange(10)) num2 = (random.randrange(10)) correct1 = (num1*num2) ans1 = input("What is " + str(num1) + " multiplied by " + str(num2) + "? ") if ans1 == correct1: print("Correct! ") if ans1 != correct1: print(" Incorrect. ") print(" The correct answer was " + str(ans1)) 

Als ich rannte, bekomme ich so etwas:

  • Zuweisung im Lambda-Ausdruck in Python
  • Angesichts der mein Code ist Open Source und ich laufe auf einem Server, und ich akzeptiere fast-roh Code, was ist das Schlimmste, was mir passieren kann?
  • Wie kann ich Python-Bibliotheken von Drittanbietern in Google App Engine einbinden?
  • Python gewichtet zufällig [doppelte]
  • Python Kopie MySQL-Tabelle auf SQLite3
  • Virtualenv, python und subversion
  •  What is 3 multiplied by 0? 0 Incorrect. The correct answer was 0 

    Beachten Sie, wie die Antwort und meine Eingabe waren die gleichen, aber es lief den Code für eine falsche Antwort. Kann mir jemand helfen, das zu beheben? Ich benutze Python 3.4.

  • Multiplizieren Sie zwei Arrays Element weise, wo eine der Arrays Arrays als Elemente hat
  • Kissenbearbeitung ImportError
  • Plotten von Linien in Paaren
  • Wie kann sich ein gekratztes HTML von dem Quellcode unterscheiden?
  • C ++ back-end ruf die python-ebene definierte callbacks mit swig wrapper
  • Das Ersetzen eines Django-Bildes löscht das Original nicht
  • 2 Solutions collect form web for “Arthimatic Quiz nicht akzeptieren korrekte Antworten”

    3 ist nicht gleich "3" . Das Ergebnis eines Aufrufs zur input (in Python3) ist ein String, keine Zahl.

    Anruf int auf die Benutzereingabe

     ... ans1 = input("What is " + str(num1) + " multiplied by " + str(num2) + "? ") ans1 = int(ans1) ... 
     if int(ans1) == correct1: print("Correct! ") else: print(" Incorrect. ") print(" The correct answer was " + str(ans1)) 

    Sie müssen Zahlen mit Zahlen vergleichen.
    Sie vergleichen '3' vs 3

    Python ist die beste Programmiersprache der Welt.