"Paul McGuire" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > "Lance Hoffmeyer" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] > > 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 -- http://mail.python.org/mailman/listinfo/python-list