我正在尝试执行以下操作:
在 HTML TextArea 中,将 ASCII 表中输入文本的每个字符的位置更改 13 个位置(在我的代码中是 rot13 函数)。
这是Rot13函数:
def rot13(s):
for a in s:
print chr(ord(a)+13)
它确实以这种方式工作,但它也会打印标题信息并省略最后一个字符。因此,当我在框中输入单词“Hello”时,结果是:
U r y y | Status: 200 Content-Type: text/html; charset=utf-8 Cache-Control: no-cache Content-Length: 4 None
那么该怎么做呢?
另外,当我尝试这样做时:
def rot13(s):
for a in s:
chr(ord(a)+13)
return s
它返回了我在文本中输入的相同文本,没有我认为会有的变化。所以据我了解,它不会直接修改's'吗?那么该怎么做呢?
整个代码如下:
import webapp2
import cgi
def escape_html(s):
return cgi.escape(s, quote = True)
form = """<html>
<head><title>Rot13</title></head>
<body>
<form method="post">
Please enter your text here:<br>
<textarea name="text"></textarea>
<input type="submit">
</form>
</body>
</html>
"""
def rot13(s):
for a in s:
print chr(ord(a)+13)
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.out.write(form)
def post(self):
entered_text = self.request.get('text')
self.response.out.write(rot13(entered_text))
app = webapp2.WSGIApplication([
('/', MainHandler)
], debug=True)