Skip to main content

Forums

This topic contains 22 replies, has 3 voices, and was last updated by  nixnerd 5 years ago.

Viewing 15 posts - 1 through 15 (of 23 total)
  • Author
    Posts
  • #163188

    nixnerd
    Participant

    I have an elif and an else that 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!

    #163189

    nixnerd
    Participant

    I also have raw_input() way too many times.

    #163263

    __
    Participant

    Apparently, elif/else is the preferred solution where other languages might use a switch statement. 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).

    As for 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?

    #163279

    nixnerd
    Participant

    Wait… Are you saying not to use if? What if I need a 3-way logical fork? Hmmm. I guess I could figure out another way.

    #163286

    __
    Participant

    Wait… Are you saying not to use if?

    umm… no

    Sorry, I think we got mixed up somewhere. Given your situation, I would normally use a switch statement. Given the fact that python doesn’t have a switch statement, I would use if/elif/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_input question, I was asking if you could just leave out the status assignment in each case, since you already did it anyway (at the beginning of the while loop). Is there a reason for assigning it again?

    #163287

    Alen
    Participant

    I’m not a Python developer. But found this, might be helpful: http://code.activestate.com/recipes/410692/

    #163291

    nixnerd
    Participant

    I’m going to look at both of these more closely and see what I can do about this.

    I just don’t like that it’s already 50 lines and barely does anything.

    #163302

    nixnerd
    Participant

    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 arg is. Plus, I’m pretty sure I could use argv instead of 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!

    #163303

    nixnerd
    Participant

    Thought I’d share this with you gentlemen:

    You’ve undoubtedly seen this but if you haven’t… you both know how to do math. I still find it interesting. Sometimes it’s good to spend time revamping your workflow… even if you have to write an app yourself.

    #163304

    __
    Participant

    How about this? Just abstracted a few things.

    #163305

    __
    Participant

    You’ve undoubtedly seen this…

    Yes, indeed.

    Have you seen this? Might help you understand your place in the world as you embark on learning this fine language

    programmer hierarchy

    #163306

    nixnerd
    Participant

    I’m going to download this and run it a few times. There was a problem that was bothering me so much last night and now I can’t think of it. I need to run it and feed it a bunch of stuff to remember.

    Thanks @traq!

    #163307

    nixnerd
    Participant

    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.

    #163308

    nixnerd
    Participant

    On a side note, I’m going to write everything for my BBB project in Python. It is literally the perfect choice for that project.

    #163310

    nixnerd
    Participant

    To quote Zed Shaw:

    “If you are reading this book and flipping out at every third sentence because you feel I’m insulting your intelligence… Go learn Lisp. I hear people who know everything really like Lisp.”

Viewing 15 posts - 1 through 15 (of 23 total)

You must be logged in to reply to this topic.

icon-link icon-logo-star icon-search icon-star