私は乱数を生成し、ユーザーに答えを求めるよりもそれらを加算するための python cgi スクリプトを作成しました。
しかし、ユーザーの答えが正しかったとしても、彼は間違っています。答えは正しくありません。問題はフローにあります:
#!/usr/bin/python2.7
import cgi,sys,random
sys.stderr = sys.stdout
input_field = cgi.FieldStorage()
x = random.randrange(1,20)
y = random.randrange(1,20)
answer = x + y
print("Content-type: text/html\n")
print ("<center>")
if "input" in input_field:
if input_field["input"].value == answer:
print("Content-Type content=text/htm")
print "<br><br><b> Good :D </b"
else:
print "<br><br><b> Wrong :( </b><br><br>"
print "Your Answer :",input_field['input'].value
print "<br>","Correct Answer",answer
else:
print "<br><br>",x,"+",y,"<br><br>"
print("""
<form method=POST action="">
<TR>
<TH align=right>Answer:<TD>
<input type=text name=input>
<TR>
""")
print ("</center>")
例:
3 + 9
答え: [12]
違う :(
あなたの答え : 12 正解 17
フローを修正するために何をすべきか知っている人はいますか? 毎回新しい数字を生成します
注:これは型エラーではなく、論理エラーです