してください、誰かがコードの蛇を私に助けることができますか? 私はそれを実行すると、ログは言った:このPythonコードでは、 "TypeError文字マッピングは整数を返す必要があります..."を生成していますか?
return method(*args, **kwargs)
File "C:\Users\CG\Documents\udacity\rot13serendipo\main.py", line 51, in post
text = rot13(text)
File "C:\Users\CG\Documents\udacity\rot13serendipo\main.py", line 43, in rot13
return st.translate(tab)
TypeError: character mapping must return integer, None or unicode
INFO 2012-04-28 20:02:26,862 dev_appserver.py:2891] "POST/HTTP/1.1" 500 -
は、私はエラーが(ROT13でなければなりません知っています)。しかし、私がIDEでこの手順を実行すると、正常に動作します。
ここに私のコード:任意の助けを事前に
import webapp2
form= """
<html>
<head>
<title>Unit 2 Rot 13</title>
</head>
<body>
<h2>Enter some text to ROT13:</h2>
<form method="post">
<textarea name="text"
style="height: 100px; width: 400px;"></textarea>
<br>
<input type="submit">
</form>
</body>
</html> """
def rot13(st):
import string
tab1 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
tab2 = 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM'
tab = string.maketrans(tab1, tab2)
return st.translate(tab)
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.out.write(form)
def post(self):
text = self.request.get("text")
text = rot13(text)
self.response.out.write(text)
app = webapp2.WSGIApplication([('/', MainHandler)],
debug=True)
ありがとう!
あなたのコードとあなたの入力(Linux上の64ビットEPD Python 2.7.2を使用して)を再現することはできません。おそらく、あなたのために失敗し、実験することができる小さな完全な例を含めることができますか? – NPE
ありがとう、aix。私はアンドリューが原因を発見したと思う。 (テキストはユニコードとして入力されています)。私はそれをどのように修正するか知っていますか? – craftApprentice