Python question: I need to make this code more DRY:
# February 18, 2014 at 12:15 am
I have an
elsethat are repeated in this code. However, I can’t find another way to incorporate these without breaking my very simple program.
What do you guys suggest?
By the way… I’m aware this program does basically nothing at the moment. I just started it like an hour ago.
Thanks!# February 18, 2014 at 2:23 pm
elseis the preferred solution where other languages might use a
switchstatement. I don’t really like the way it looks, but I have to admit the reasoning is sound and it works the same way (which the exception of case fall-through, which is arguably more of a bug than a feature).
raw_input, I disagree: just because you have to do it in most cases doesn’t mean it’s not dry. The alternative is to put it into a function that does the same thing, but then you have to call that function repeatedly, so what have you accomplished? un-pythonic.
Another possibility would be
while running == True: status = raw_input() if clockedIn = False: # etc. ...
Obviously, the status doesn’t need to be updated when you
stop, but would it hurt anything?# February 18, 2014 at 6:56 pm
Wait… Are you saying not to use
Sorry, I think we got mixed up somewhere. Given your situation, I would normally use a
switchstatement. Given the fact that python doesn’t have a
switchstatement, I would use
else(as you did). I was just pointing out that that appears to be the “correct” solution anyway.
If you’re talking about the
raw_inputquestion, I was asking if you could just leave out the
statusassignment in each case, since you already did it anyway (at the beginning of the
whileloop). Is there a reason for assigning it again?# February 18, 2014 at 9:53 pm
I wrote this stupidly because I’m printing all the questions/prompts. I could just use
raw_input(arg)and put the prompt where the
argis. Plus, I’m pretty sure I could use
raw_input. There are only 3 options, raw_input isn’t really the best idea here. It’s not like I’m going to perform some wizardry on whatever garbage string they give me. It’s either option 1, 2 or 3.
Poorly written. But… that’s what new git commits are for!# February 18, 2014 at 10:14 pm
Might help you understand your place in the world as you embark on learning this fine language.
HA HA HA HA! So true! Although… DAMN! I had no idea everyone thinks they’re superior to Java programmers. I mean, I learned Java in a CS class like everybody else in college and didn’t like it but… I have a little more respect for that language in particular.
Also… for me, C is the holy grail. When I can learn that, I’ll truly ‘feel’ like a real programmer.
You must be logged in to reply to this topic.