2014-10-31 90 views
1

我一直坚持这个任务几个小时,当我找到Python代码来反转我的stguess(这是一个变量,存储HTML文件的用户输入),我得到错误后的错误。其中的一些状态几乎不能理解像stguess [:: - 1] stguess.reversed()这样的反向方法,它不起作用。我也有一个愚蠢的“如果!= 1”我实际上应该找到一种方法来确保只有az和A- Z可以进入,但我不知道该怎么做,所以我刚刚进入,所以我知道我可以通过这个价值并尝试着扭转它。确定好做:反向字符串?

if guess != 1: 
      print''.join(reversed(stguess)) //But this does not reverse the string? 

import webapp2 
import os 
import jinja2 
import logging 
from google.appengine.api import users 


JINJA_ENVIRONMENT = jinja2.Environment(
    loader=jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__),'templates'))) 
extentions=['jinja2.ext.autoescape'] 
user = users.get_current_user() 


class reverse(webapp2.RequestHandler): 
    def get(self): 
    user = users.get_current_user() 
    logout_url = users.create_login_url(self.request.path) 
    template = JINJA_ENVIRONMENT.get_template('reverseword.html') 
    stguess = self.request.get('content') 
    msg = '' 
    template_values = { 
     'user': user.nickname(), 
     'url_logout': logout_url, 
     'url_logout_text': 'Log Out', 
     'guess': stguess, 
     'guess_text': msg, 
     } 
    if user: 
     stguess = self.request.get('content') 
     self.response.write(template.render(template_values)) 
    else: 
     self.redirect(users.create_login_url(self.request.url)) 

def reverse(text): 
    if len(stguess) <= 1: 
     return stguess 

类reversepost(webapp2.RequestHandler):

def get(self): 
    user = users.get_current_user() 
    logout_url = users.create_login_url(self.request.path) 
    template = JINJA_ENVIRONMENT.get_template('reverseword.html') 
    stguess = self.request.get('content') 
    msg = '' 
    template_values = { 
     'user': user.nickname(), 
     'url_logout': logout_url, 
     'url_logout_text': 'Log Out', 
     'guess': stguess, 
     'guess_text': msg, 
     } 
    if user: 
     stguess = self.request.get('content') 
     self.response.write(template.render(template_values)) 
    else: 
     self.redirect(users.create_login_url(self.request.url)) 

def post(self): 
    logging.info("post") 
    logout_url = users.create_login_url(self.request.path) 
    template = JINJA_ENVIRONMENT.get_template('reverseword.html') 
    stguess = self.request.get('content') 

    if user: 
     logging.info("user found") 
     msg = '' 
     guess = -1 
     try: 
      guess = str(stguess) 
      logging.info("guess contains "+str(guess)) 
     except: 
      guess = -1 
     **if guess != 1: //if guess is not equal to 1 
      return stguess.reverse()** //return user input.reversed() 
     else: 
      msg = 'Didnt work' 
     template_values = { 
     'user': user.nickname(), 
     'url_logout': logout_url, 
     'url_logout_text': 'Log Out', 
     'guess': guess, 
     'guess_text': msg, 
     } 
     self.response.write(template.render(template_values)) 
    else: 
     self.redirect(users.create_login_url(self.request.url)) 

应用程式= webapp2.WSGIApplication([ ( '/',反向) ],调试=真)

+0

这是一个纯粹的Python的问题,无关与GAE。另外,几乎所有的代码都与这个问题无关:你应该只提取相关的代码。 – 2014-10-31 09:11:35

回答

1
print ''.join(reversed(stguess)) 

将只是打印该字符串的反转版本。

如果您想要存储的值,您需要重新将stguess重新设置为反转值。即。

stguess = stguess[::-1] 
print stguess 

stguess = ''.join(reversed(stguess)) 
print stguess 
+0

你好,谢谢你的回复。很好很容易遵循,我会尝试stguest = stguest [:: - 1],但是当我尝试stguest [:: - 1]时,Google应用引擎几乎说不明白[:: - 1],但也许在一个变量中它会。此外,我会尝试第二个谷歌应用程序引擎似乎罚款与。 .join(倒过来,所以也许先把它作为一个变量存储起来,然后打印出来可能会起作用,我明天再报告一次,再次感谢! – user3199400 2014-10-31 03:44:27