Re: [Zope] Float object not callable (newbie question)
Am Freitag, den 13.05.2005, 16:06 +0100 schrieb Paul Hendrick: hi all, I'm trying to write a simple app which takes a name, bank balance, interest rate and returns the balance once 1 years interest has been added. I'm getting the error that float object is not callable. i can't figure out where i'm going wrong :S my code is below(getDetails, showDetails,doStuff.py), thanks for any input! paul. html body form action=showDetails method=post input name=name:str NAMEbr input name=balance:float BALANCEbr input name=interestRate:float INTEREST RATEbr input type=submit value=calculate /form /body /html This seems ok. -- html body span tal:define=name request/name; balance request/balance; rate request/interestRate span tal:content=python: here.doStuff(name,balance,rate)/span /span /body /html Why this? 1) your python script can read request just fine. No need for clumsy code in ZPT 2) your code below returns a list, so all you get is the string representation of a list. Works but does not look so fine ;) -- years = 1 newBal = balance( balance*(rate*years)) You call balance as function by using (). Try your function in the interactive interpreter if unsure, e.g. balance = 5000 rate = 8 # in percent I assume? You should state that in the form years = 4 newbalance = balance * (1+rate/100.0) ** years if you output newbalance, you will see if it does what you want. if you transfer it into the python script, replace the assignments with balance = context.REQUEST.get(balance,0) rate = context.REQUEST.get(rate,0) years = context.REQUEST.get(years,0) and return newbalance at the end. (You can also skip the variable and return the result of the expression directly) I'd point the form to itself and make the output just below it. span tal:content=here/doStuff / thats all. ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Float object not callable (newbie question)
hi all, I'm trying to write a simple app which takes a name, bank balance, interest rate and returns the balance once 1 years interest has been added. I'm getting the error that float object is not callable. i can't figure out where i'm going wrong :S my code is below(getDetails, showDetails,doStuff.py), thanks for any input! paul. html body form action=showDetails method=post input name=name:str NAMEbr input name=balance:float BALANCEbr input name=interestRate:float INTEREST RATEbr input type=submit value=calculate /form /body /html -- html body span tal:define=name request/name; balance request/balance; rate request/interestRate span tal:content=python: here.doStuff(name,balance,rate)/span /span /body /html -- years = 1 newBal = balance( balance*(rate*years)) returnList = [name,newBal] return returnList ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Float object not callable (newbie question)
Hi Paul, - Original Message - From: Paul Hendrick [EMAIL PROTECTED] To: zope@zope.org Sent: Friday, May 13, 2005 4:06 PM Subject: [Zope] Float object not callable (newbie question) hi all, I'm trying to write a simple app which takes a name, bank balance, interest rate and returns the balance once 1 years interest has been added. I'm getting the error that float object is not callable. i can't figure out where i'm going wrong :S my code is below(getDetails, showDetails,doStuff.py), thanks for any input! paul. html body form action=showDetails method=post input name=name:str NAMEbr input name=balance:float BALANCEbr input name=interestRate:float INTEREST RATEbr input type=submit value=calculate /form /body /html -- html body span tal:define=name request/name; balance request/balance; rate request/interestRate span tal:content=python: here.doStuff(name,balance,rate)/span /span /body /html -- years = 1 newBal = balance( balance*(rate*years)) You seem to be calling a function here called 'balance' which is the name of the parameter. Should it not be just: newBal = balance*(rate*years) returnList = [name,newBal] return returnList Hope that helps, Brian ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )