Я написал простой 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?Как мы можем это сделать?
Редактировать: Я действительно не уверен, что это сеансы или нет .. Мне просто нужен способ сохранить то, что пользователь ввел, чтобы я мог сравнить его ответ с правильнымответить