help with a function
Paul McGuire
ptmcg at austin.rr._bogus_.com
Tue May 16 22:53:02 EDT 2006
"Paul McGuire" <ptmcg at austin.rr._bogus_.com> wrote in message
news:mYvag.37952$CH2.9832 at tornado.texas.rr.com...
> "Lance Hoffmeyer" <lance at augustmail.com> wrote in message
> news:446a85c6$0$61170$ae4e5890 at news.nationwide.net...
> > Hey all,
> >
> > I'm new to python. I keep getting an error when running this.
> > I'm sure there is an easy fix but I can't figure it out.
> > What am I doing wrong? How do I fix it?
> >
> > def even_odd_round(num):
> > if(round(num,2) + .5 == int(round(num,2)) + 1):
> > if(int(num,0) % 2): #an odd number
> > rounded_num = round(num,2) + .1
> > else: #an even number
> > rounded_num = round(num,2) - .1
> > rounded_num = int(rounded_num)
> > return rounded_num
> >
> > even_odd_round(5.5)
> >
> > Traceback (most recent call last):
> > File "<interactive input>", line 1, in ?
> > File "<interactive input>", line 3, in even_odd_round
> > TypeError: int() can't convert non-string with explicit base
> > >>>
>
> 1 def even_odd_round(num):
> 2 if(round(num,2) + .5 == int(round(num,2)) + 1):
> 3 if(int(num,0) % 2): #an odd number
> 4 rounded_num = round(num,2) + .1
> 5 else: #an even number
> 6 rounded_num = round(num,2) - .1
> 7 rounded_num = int(rounded_num)
> 8 return rounded_num
> 9
> 10 even_odd_round(5.5)
>
> > Traceback (most recent call last):
> > File "<interactive input>", line 1, in ?
> > File "<interactive input>", line 3, in even_odd_round
> > TypeError: int() can't convert non-string with explicit base
>
This error message tells us there is a problem on line 3, something to do
with the int() method call.
You have posted a number of posts this week, and it feels like you write a
bunch of code, run into a problem, then post it without trying to figure it
out. I don't mean to offend, but really, many of your questions are pretty
basic:
- how do I use regex's (to extract data from an easily split string of
space-delimited numbers)?
- how do I round a number?
- I get this traceback, what's wrong with my program?
Please read up on the Python tutorials, and learn how to use the interactive
help.
Overall, c.l.py is pretty newbie-friendly, and a "n00b" question every so
often is no big deal - but you've got to make more of an effort yourself.
There is also a tutorial mailing list that is - I started to say "more
geared for beginners", but we have plenty of lurker beginners on c.l.py, I'm
sure - I'd say the tutorial mailing list is more willing to handhold new
Python programmers.
And a posted "thanks" once in a while is not bad etiquette either.
-- Paul
More information about the Python-list
mailing list