[python] jak pretizit oper8tory and, or, not
Radek Kanovsky
rk na dat.cz
Sobota Duben 17 14:34:57 CEST 2004
On Sat, Apr 17, 2004 at 12:12:32AM +0200, Petr Kolesa wrote:
> Diky za radu. Ja ale bohuzel potrebuju vyhodnocovat vyrazy ve tristavove
> logice (ano, ne , nevim). Moje idea byla vytvorit tridu Unknown, ktera
> by se mohla objevit v logickem vyrazu ...
>
> Cely problem je v tom, ze na vstupu dostanu retezec (vyraz), ktery pak
> vyhodnotim a vracim vysledek. Format vstupu je dany. A opravdu se mi
> nechce parsovat vyraz, abych to mohl vyhodnotit rucne.
S tristavovou logikou python rozhodne nepocita. Zkuste vic popsat, co
vlatne resite (priklady vstupu). Pokud vas vstup splnuje pythonovskou
syntaxi, mohl by vam byt ku prospechu modul compiler. Dostanete AST
(abstract syntax tree), na zaklade ktereho muzete vygenerovat kod.
>>> compiler.parse("x and y")
Module(None, Stmt([Discard(And([Name('x'), Name('y')]))]))
Radek Kaňovský
Další informace o konferenci Python