21.12.2022 Views

python_para_desenvolvedores_2ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Respostas dos exercícios V 353

4. Implementar uma aplicação Web com um formulário que receba expressões

Python e retorne a expressão com seu resultado.

Solução:

# -*- coding: latin1 -*-

import traceback

import cherrypy

class Root(object):

# Modelo para a página HTML

template = '''

<html><body>

<form action="/">

<input type="text" name="exp" value="%s" />

<input type="submit" value="enviar">

<pre>%s</pre>

</body></html>'''

@cherrypy.expose

def index(self, exp=''):

out = ''

if exp:

# Tente avaliar a expressão

try:

out = eval(exp)

# Se der errado, mostre a mensagem do erro

except:

out = traceback.format_exc()

return self.template % (exp, out)

cherrypy.quickstart(Root())

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!