Python Forum

Full Version: Checking my basic understanding of coding
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Need a little help Rolleyes

I'm kind of new to python and trying to understand basics of python. Trying to show what I understand by looking at the following coding. Correct me if i'm wrong in here. The # comment is what I understand about each coding line written down

# Create function get_float
def get_float(pmp):
    # assigning values to ‘val’
    val = float(0.0)
    # Creating while loop
    while True:
        try:
            # converting user input to float data type
            val = float(input(pmp))
            # checking condition if val is negative
            if val < 0.0:
                print("Cannot accept negative values!")
                continue
            # Breaks us out of the loop
            break
        # Throw error
        except ValError:
            return 0.0
    # returning current value of ‘val’
    return val

# Function to: creating function run
def go():
    # create an array called ‘rv’
    rv = RecyclingMachine()
    # assigning values to variable ‘next_customer’
    next_customer = True
    # Creating a Do-While loop
    while next_customer:
        # assign values to rv array
        vm.accept_product()
        # assign values to rv array
        vm.identify_product()
        # assign values to rv array
        vm.print_receipt()
        # Creating a Do-While loop
        while True:
            # Getting the input in strings
            answer = get_str("(N)ext customer, or (Q)uit?")
            # Converting input into uppercase
            answer = answer.upper()
            # checking value of answer using a condition
            if answer == "N":
	       # Breaks us out of the loop
                break
            elif answer == "Q":
                # Quite the loop
                exit()
            else:
                # Display what’s inside print statement
                print("Invalid Response")
Thanks for having a look! Smile
As far as I can tell, yes. But it's not clear what RecyclingMachine is or what vm is. I some problems with the way the code is written, and I would expect an error on line 17 (although it's clear this is not the complete code, and there may be some other code that prevents that error. I expect I would have a problem with that code too).
The comment on line 16 isn't correct. The code isn't throwing (or "raising" in Python) an error. It's catching and handling an error that has been raised.
Line 48 doesn't break the loop, it's calling sys.exit() to end the program immediately. https://docs.python.org/3/library/sys.html#sys.exit

Personally, I think this function should be used very very rarely, if ever. I think of it as a big red flag that something extremely bad happened, and you don't know how to proceed. Libraries should never use it, only client code (imagine if your webbrowser just crashed for some minor issue).