【发布时间】:2011-06-29 09:59:35
【问题描述】:
我写了一个简单的 Python CGI 脚本,但它有一个错误:
#!/usr/bin/python2.7
import cgi,sys,random
sys.stderr = sys.stdout
num1 = random.randrange(1,11)
num2 = random.randrange(1,11)
answer = num1 + num2
print("Content-type: text/html\n")
print("<code>%d + %d :</code>") % (num1,num2)
print("""
<form method=POST action="">
<hr>
<th align=right>
<code><b>Answer:</b></code>
<input type=text name="answer">
<tr>""")
form = cgi.FieldStorage()
try:
if form["answer"].value == str(answer):
print "<br><b>Good</b>"
else:
print "<br><b>Wrong</b>"
except KeyError:
pass
每次执行此代码时都会重新生成数字,并且无法将用户输入与答案进行比较,因为 cgi.FieldStorage 不存储该输入:
PHP 程序员使用“session_start()”来做我想做的事:
<?php
//Start the session so we can store what the code actually is.
session_start();
$text = rand(1,11);
$_SESSION["answer"] = $answer;
.......
?>
Python 呢?我们该怎么做?
编辑:我真的不确定它是否是会话.. 我只需要一种方法来保留用户输入的内容,以便我可以将他的答案与正确答案进行比较
【问题讨论】: