Runbatch.txt is runs the tests
python3 main.py carrots 4 .75
python3 main.py carrots 4 .75 peas 3 .52
python3 main.py carrots 4 .75 peas 3 .50 potatoes
python3 main.py carrots 4 .75 peas 3 .50 potatoes 4
main.py
#!/usr/bin/env python3 import sys from sys import argv filename = sys.argv[0] arguments = sys.argv[1:] str_count = len(arguments) if str_count == 3: print("using import sys") item = arguments[0] quantity = int(arguments[1]) cost = float(format(float(arguments[2]), '.2f')) print(filename) print(arguments) total = quantity * cost print("You are buying {} quantity {} @ ${} for ${}".format(item, quantity, format(cost, '.2f') , format(total, '.2f'))) print("") print("") print("using from sys import argv") print("using this method you drop sys from filename and arguments") filename = argv[0] arguments = argv[1:] print(filename) print(arguments) cost = 0.00 total = 0.00 item = arguments[0] quantity = int(arguments[1]) cost = float(format(float(arguments[2]), '.2f')) total = quantity * cost print("You are buying {} quantity {} @ ${} for ${}".format(item, quantity, format(cost, '.2f') , format(total, '.2f'))) if str_count > 3: print("") print("") print("we will see if we can parse off the arguments") print(filename) print(arguments) print("I added in more arguments and will now parse them off") print("") print("") count = 0 final_total = 0.00 subtotal = 0.00 while count < len(arguments): item = arguments[count] if count + 1 < len(arguments): quantity = int(arguments[count + 1]) elif count + 1 >= len(arguments): print("You didn't put in a quantity for {}".format(item)) break if count + 2 < len(arguments): cost = float(arguments[count + 2]) elif count + 2 >= len(arguments): print("You didn't put in a cost for {}".format(item)) break subtotal = quantity * cost print("You are buying {} quantity {} @ ${} for ${}".format(item, quantity, format(cost, '.2f') , format(subtotal, '.2f'))) count += 3 final_total += subtotal print("Your final total is $", format(final_total, '.2f'))
Here is the runbatch.txt output.
./runbatch.txt using import sys main.py ['carrots', '4', '.75'] You are buying carrots quantity 4 @ $0.75 for $3.00 using from sys import argv using this method you drop sys from filename and arguments main.py ['carrots', '4', '.75'] You are buying carrots quantity 4 @ $0.75 for $3.00 we will see if we can parse off the arguments main.py ['carrots', '4', '.75', 'peas', '3', '.52'] I added in more arguments and will now parse them off You are buying carrots quantity 4 @ $0.75 for $3.00 You are buying peas quantity 3 @ $0.52 for $1.56 Your final total is $ 4.56 we will see if we can parse off the arguments main.py ['carrots', '4', '.75', 'peas', '3', '.50', 'potatoes'] I added in more arguments and will now parse them off You are buying carrots quantity 4 @ $0.75 for $3.00 You are buying peas quantity 3 @ $0.50 for $1.50 You didn't put in a quantity for potatoes Your final total is $ 4.50 we will see if we can parse off the arguments main.py ['carrots', '4', '.75', 'peas', '3', '.50', 'potatoes', '4'] I added in more arguments and will now parse them off You are buying carrots quantity 4 @ $0.75 for $3.00 You are buying peas quantity 3 @ $0.50 for $1.50 You didn't put in a cost for potatoes Your final total is $ 4.50