0
def main():
    print('Welcome to the Fast Freight Shipping Company Calculator for Shipping Charges')
    print()
#constants for the shipping prices
    weight_one <= 2
    weight_two > 2
    weight_three > 6
    weight_four > 10

    weight_one_rate = 1.10
    weight_two_rate = 2.20
    weight_three_rate = 3.70
    weight_four_rate = 3.80

#get the weight of the package using the input fucntion
    package_weight = float(input("Please enter the weight of your package: "))
#Calculate shipping costs
    if package_weight == weight_one:
        calc_cost_with_weight_one_rate

    elif package_weight == weight_two:
        calc_cost_with_rate_two_rate

    elif package_weight == weight_three:
        calc_cost_with_rate_three_rate

    else:
        calc_cost_with_weight_four_rate


def calc_cost_with_weight_one_rate():
    cost = package_weight * weight_one_rate

def calc_cost_with_rate_two_rate_():
    cost = package_weight * weight_two_rate

def calc_cost_with_rate_three_rate_():
    cost = package_weight * weight_three_rate

def calc_cost_with_rate_four_rate_():
    cost = package_weight * weight_four_rate

print('Based on a weight of', format(package_weight, '.2f'),\ 'pounds, the shipping charge is $', format(cost, '.2f'),sep=' ')


#calls main
main()

As far as I can tell, my code looks correct, but when I try to run it in Shell, I get the error 'Unexpected Character After Line Continutation Character' and a long space after the last print is highlighted. Hitting backspace deletes the last ), in the print function before main, so I'm not entirely sure how to fix it, and I haven't encountered this syntax error before.

6
Contributors
8
Replies
46
Views
4 Years
Discussion Span
Last Post by Lardmeister
0

You can not have any character, including a space, after the line continuation character "\"

print('Based on a weight of', format(package_weight, '.2f'),\ 'pounds, the shipping charge is $', format(cost, '.2f'),sep=' ')

Edited by woooee

0

Oh, I see. So, I put it on a new line, and now I'm getting this error:

  File "C:\Users\Mark\Desktop\ITP 100\shipping.py", line 43, in <module>
    print('Based on a weight of', format(package_weight, '.2f'),\
NameError: name 'package_weight' is not defined

This is the first time I've used the if-elif-else structure, so I may not have defined package_weight correctly.

Edited by RHNation

0

Because in your code, package_weight is a local variable in function main(). It exists only in this function's body.

0

You got to learn how to pass arguments to and from functions.

Also this does not make sense:

#constants for the shipping prices
    weight_one <= 2
    weight_two > 2
    weight_three > 6
    weight_four > 10
0

There are different rates for shipping depending on how much the package weights, that's where weight_one and so on comes from.

Concerning passing arguments to other functions, do I simply put it in the parentheses in the other functions? For instance:

def calc_cost_with_weight_one_rate(package_weight):
cost = package_weight * weight_one_rate

Edited by RHNation

0

I'm not sure which part you're referencing. I've only been in my software development class for a few weeks, so this is all still new to me and probably a stupid mistake that I'm not understanding. I'll post my assignment below to see if it can help shed some light on what I'm trying to do:

Write a program that asks the user to enter the weight of a package and then displays the shipping charges. Use functions for calculating the shipping charges and for printing results. Make sure all dollar amounts are formatted as decimal numbers with 2 decimal point precision and that each outputted number includes some text in quotes stating what it is.
Hints: you have multiple options possible so use an if, elif, else structure. This will ensure only one path is chosen.

Thanks for your help everyone!

1

Study this code, it will teach you how to pass arguments to and from functions:

def main():
    print('Welcome to the Fast Freight Shipping Company Calculator for Shipping Charges')
    print()
    #constants for the shipping prices
    weight_one_rate = 1.10
    weight_two_rate = 2.20
    weight_three_rate = 3.70
    weight_four_rate = 3.80
    #get the weight of the package using the input fucntion
    package_weight = float(input("Please enter the weight of your package: "))
    #Calculate shipping costs
    #weight_one is less than 2 pounds
    if package_weight <= 2:
        cost = calc_cost(package_weight, weight_one_rate)
    #weight_two is more than 2 pounds and less than 6 pounds 
    elif package_weight > 2 and package_weight <= 6:
        cost = calc_cost(package_weight, weight_two_rate)
    #weight_three is more than 6 pounds and less than 10 pounds
    elif package_weight > 6 and package_weight <= 10:
        cost = calc_cost(package_weight, weight_three_rate)
    #weight_four is nore than 10 pounds
    else:
        cost = calc_cost(package_weight, weight_four_rate)

    print('Based on a weight of', format(package_weight, '.2f'),\
         'pounds, the shipping charge is $', format(cost, '.2f'),sep=' ') 

def calc_cost(package_weight, rate):
    cost = package_weight * rate
    return cost

#calls main
main()
This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.