Oct-09-2017, 03:57 AM
Hello again, this time a type error is appearing with the following error (scroll down to the bottom of the post). The aim of this part is for the package to be multiplied by the discount then to be printed out in Pass_Total(). E.g. Pass_Calculate() 7 * 0.6 = "The total cost is: $ 4.2". I tried to recreate/replicate other code that was similar to this one but did not get any closer.
def Pass_Show():
print("Aussie Pass!")
print("Please select a package and discount depending on age.")
print("E.g. Package = 7")
Pass_Package()
def Pass_Package():
print("7 Day Pass – $139.95")
print("14 Day Pass - $239.95")
print("30 Day Pass - $500.00")
Pass_Discount()
def Pass_Discount():
print("Children (Under 15) - 60% off")
print("Students (Over 15 & less than 22) - 40% off")
print("Seniors (60 or over) - 50% off")
Pass_Cost()
def Pass_Total():
cost = Pass_Cost()
total = Pass_Calculate(cost)
print("The total cost is: $" + str(total))
def Pass_Cost():#User inputs the type of package they suit and discount
cost=list()
package = input('Package: ')
if package == '7' or '14' or '30': #If they enter those values they will move onto choosing their discount
print("Proceed...")
cost.append(package)
if package not in('7','14','30'):
Pass_Cost()#If they do not enter any of those values they will be prompted to ask again
p = int(package)
discount = input("Discount: ")
if discount == "Children":
discount == 0.60
cost.append(discount)
Pass_Calculate(cost)
if discount == "Students":
discount == 0.50
cost.append(discount)
Pass_Calculate(cost)
if discount == "Seniors":
discount == 0.40
cost.append(discount)
Pass_Calculate(cost)
if discount not in ("Children","Students","Seniors"):
Pass_Cost()
d = int(discount)
return p, d
def Pass_Calculate(cost):
return (cost[0] * cost[1]) #Calculates the cost from their chosen package and discount e.g. 7 * 0.6
#7 being the chosen package (7 Day Pass) and 0.6 being Children discount
Pass_Show()
Traceback (most recent call last):
File "F:\Computing\Term 3\Aussie Pass.py", line 67, in <module>
Pass_Show()
File "F:\Computing\Term 3\Aussie Pass.py", line 6, in Pass_Show
Pass_Package()
File "F:\Computing\Term 3\Aussie Pass.py", line 12, in Pass_Package
Pass_Discount()
File "F:\Computing\Term 3\Aussie Pass.py", line 18, in Pass_Discount
Pass_Cost()
File "F:\Computing\Term 3\Aussie Pass.py", line 43, in Pass_Cost
Pass_Calculate(cost)
File "F:\Computing\Term 3\Aussie Pass.py", line 61, in Pass_Calculate
return (cost[0] * cost[1]) #Calculates the cost from their chosen package and discount e.g. 7 * 0.6
TypeError: can't multiply sequence by non-int of type 'str'
def Pass_Show():
print("Aussie Pass!")
print("Please select a package and discount depending on age.")
print("E.g. Package = 7")
Pass_Package()
def Pass_Package():
print("7 Day Pass – $139.95")
print("14 Day Pass - $239.95")
print("30 Day Pass - $500.00")
Pass_Discount()
def Pass_Discount():
print("Children (Under 15) - 60% off")
print("Students (Over 15 & less than 22) - 40% off")
print("Seniors (60 or over) - 50% off")
Pass_Cost()
def Pass_Total():
cost = Pass_Cost()
total = Pass_Calculate(cost)
print("The total cost is: $" + str(total))
def Pass_Cost():#User inputs the type of package they suit and discount
cost=list()
package = input('Package: ')
if package == '7' or '14' or '30': #If they enter those values they will move onto choosing their discount
print("Proceed...")
cost.append(package)
if package not in('7','14','30'):
Pass_Cost()#If they do not enter any of those values they will be prompted to ask again
p = int(package)
discount = input("Discount: ")
if discount == "Children":
discount == 0.60
cost.append(discount)
Pass_Calculate(cost)
if discount == "Students":
discount == 0.50
cost.append(discount)
Pass_Calculate(cost)
if discount == "Seniors":
discount == 0.40
cost.append(discount)
Pass_Calculate(cost)
if discount not in ("Children","Students","Seniors"):
Pass_Cost()
d = int(discount)
return p, d
def Pass_Calculate(cost):
return (cost[0] * cost[1]) #Calculates the cost from their chosen package and discount e.g. 7 * 0.6
#7 being the chosen package (7 Day Pass) and 0.6 being Children discount
Pass_Show()
Traceback (most recent call last):
File "F:\Computing\Term 3\Aussie Pass.py", line 67, in <module>
Pass_Show()
File "F:\Computing\Term 3\Aussie Pass.py", line 6, in Pass_Show
Pass_Package()
File "F:\Computing\Term 3\Aussie Pass.py", line 12, in Pass_Package
Pass_Discount()
File "F:\Computing\Term 3\Aussie Pass.py", line 18, in Pass_Discount
Pass_Cost()
File "F:\Computing\Term 3\Aussie Pass.py", line 43, in Pass_Cost
Pass_Calculate(cost)
File "F:\Computing\Term 3\Aussie Pass.py", line 61, in Pass_Calculate
return (cost[0] * cost[1]) #Calculates the cost from their chosen package and discount e.g. 7 * 0.6
TypeError: can't multiply sequence by non-int of type 'str'