Fix bugs
This commit is contained in:
@@ -91,7 +91,7 @@ def prerelease_047822_india_2020():
|
|||||||
# ask for input, remove duplicated characters and remove non-numerical characters
|
# ask for input, remove duplicated characters and remove non-numerical characters
|
||||||
optional_extras = "".join(char for char in "".join(set(input("Please enter the numbers of the optional extras you would like. Invalid options will be ignored: "))) if char.isdigit())
|
optional_extras = "".join(char for char in "".join(set(input("Please enter the numbers of the optional extras you would like. Invalid options will be ignored: "))) if char.isdigit())
|
||||||
# remove numbers outside of valid range
|
# remove numbers outside of valid range
|
||||||
optional_extras = "".join(char for char in optional_extras if 0 < char < 6)
|
optional_extras = "".join(char for char in optional_extras if 0 < int(char) < 6)
|
||||||
|
|
||||||
# add costs of chosen optional extras to total cost
|
# add costs of chosen optional extras to total cost
|
||||||
optional_extra_costs = [45000, 5500, 1000, 350, 1000]
|
optional_extra_costs = [45000, 5500, 1000, 350, 1000]
|
||||||
@@ -120,11 +120,13 @@ def prerelease_047822_india_2020():
|
|||||||
print("Invalid input. Please enter a number.")
|
print("Invalid input. Please enter a number.")
|
||||||
trade_amount = None
|
trade_amount = None
|
||||||
# if input is a number outside of the acceptable range, display an error
|
# if input is a number outside of the acceptable range, display an error
|
||||||
elif (trade_amount <= 0):
|
elif (int(trade_amount) <= 0):
|
||||||
print("Invalid input. Please enter a number above 0.")
|
print("Invalid input. Please enter a number above 0.")
|
||||||
trade_amount = None
|
trade_amount = None
|
||||||
|
trade_amount = float(trade_amount)
|
||||||
else:
|
else:
|
||||||
car_trade = False
|
car_trade = False
|
||||||
|
trade_amount = 0
|
||||||
|
|
||||||
# display total cost without discounts
|
# display total cost without discounts
|
||||||
print("Cost: Rs %.2f" % cost)
|
print("Cost: Rs %.2f" % cost)
|
||||||
@@ -142,11 +144,11 @@ def prerelease_047822_india_2020():
|
|||||||
print("Which payment option would you like?")
|
print("Which payment option would you like?")
|
||||||
cashback = cost * 0.01
|
cashback = cost * 0.01
|
||||||
if (cashback > optional_extras_cost):
|
if (cashback > optional_extras_cost):
|
||||||
print("(1) Pay full amount now - 1% \cashback - total cost Rs %.2f - one payment - including cashback of Rs %.2f | or free optional extras - total cost %.2f - one payment - including discount of %.2f" % (cost * 0.99, cashback, cost - optional_extras_cost, optional_extras_cost))
|
print("(1) Pay full amount now - 1%s cashback - total cost Rs %.2f - one payment - including cashback of Rs %.2f | or free optional extras - total cost %.2f - one payment - including discount of %.2f" % ("%", cost * 0.99 - discount, cashback, cost - optional_extras_cost - discount, optional_extras_cost))
|
||||||
else:
|
else:
|
||||||
print("(1) Pay full amount now - free optional extras - total cost %.2f - one payment - including discount of %.2f | or 1% \cashback - total cost Rs %.2f - one payment - including cashback of Rs %.2f" % (cost - optional_extras_cost, optional_extras_cost, cost * 0.99, cashback))
|
print("(1) Pay full amount now - free optional extras - total cost %.2f - one payment - including discount of %.2f | or 1%s cashback - total cost Rs %.2f - one payment - including cashback of Rs %.2f" % (cost - optional_extras_cost - discount, optional_extras_cost, "%", cost * 0.99 - discount, cashback))
|
||||||
print("(2) Monthly payements for four years - no charge - total cost Rs %.2f - payments of Rs %.2f - 48 payments" % (cost, cost / 48))
|
print("(2) Monthly payements for four years - no charge - total cost Rs %.2f - payments of Rs %.2f - 48 payments" % (cost - discount, cost / 48))
|
||||||
print("(3) Monthly payments for seven years - 5% \charge - total cost Rs %.2f - payments of Rs %.2f - 80 payments" % (cost * 1.05, cost * 1.05 / 84))
|
print("(3) Monthly payments for seven years - 5%s charge - total cost Rs %.2f - payments of Rs %.2f - 80 payments" % ("%", cost * 1.05 - discount, cost * 1.05 / 84))
|
||||||
# keep asking until valid input entered
|
# keep asking until valid input entered
|
||||||
payment_option = None
|
payment_option = None
|
||||||
while (not payment_option):
|
while (not payment_option):
|
||||||
@@ -161,6 +163,7 @@ def prerelease_047822_india_2020():
|
|||||||
print("Invalid input. Please enter a number between 1 and 3.")
|
print("Invalid input. Please enter a number between 1 and 3.")
|
||||||
payment_option = None
|
payment_option = None
|
||||||
# calculate total cost, adjusted for chosen payment option
|
# calculate total cost, adjusted for chosen payment option
|
||||||
|
payment_option = int(payment_option)
|
||||||
if (payment_option == 3):
|
if (payment_option == 3):
|
||||||
cost *= 1.05
|
cost *= 1.05
|
||||||
|
|
||||||
@@ -168,11 +171,11 @@ def prerelease_047822_india_2020():
|
|||||||
if (payment_option == 1):
|
if (payment_option == 1):
|
||||||
print("Which option would you like?")
|
print("Which option would you like?")
|
||||||
if (cashback > optional_extras_cost):
|
if (cashback > optional_extras_cost):
|
||||||
print("(1) Cashback - save Rs %.2f" % cashback)
|
print("(1) Cashback - save Rs %.2f - total cost Rs %.2f" % (cashback, cost * 0.99 - discount))
|
||||||
print("(2) Free optional extras - save Rs %.2f" % optional_extras_cost)
|
print("(2) Free optional extras - save Rs %.2f - total cost Rs %.2f" % (optional_extras_cost, cost - optional_extras_cost - discount))
|
||||||
else:
|
else:
|
||||||
print("(1) Free optional extras - save Rs %.2f - total cost Rs %.2f" % (optional_extras_cost, cost - optional_extras_cost))
|
print("(1) Free optional extras - save Rs %.2f - total cost Rs %.2f" % (optional_extras_cost, cost - optional_extras_cost - discount))
|
||||||
print("(2) Cashback - save Rs %.2f - total cost Rs %.2f" % (cashback, cost * 0.99))
|
print("(2) Cashback - save Rs %.2f - total cost Rs %.2f" % (cashback, cost * 0.99 - discount))
|
||||||
# keep asking until valid input entered
|
# keep asking until valid input entered
|
||||||
cashback_or_free_extras = None
|
cashback_or_free_extras = None
|
||||||
while (not cashback_or_free_extras):
|
while (not cashback_or_free_extras):
|
||||||
@@ -182,13 +185,14 @@ def prerelease_047822_india_2020():
|
|||||||
print("Invalid input. Please enter a number.")
|
print("Invalid input. Please enter a number.")
|
||||||
cashback_or_free_extras = None
|
cashback_or_free_extras = None
|
||||||
# if input is number outside of acceptable range, display error
|
# if input is number outside of acceptable range, display error
|
||||||
elif (not 0 < cashback_or_free_extras < 3):
|
elif (not 0 < int(cashback_or_free_extras) < 3):
|
||||||
print("Invalid input. Please enter either 1 or 2.")
|
print("Invalid input. Please enter either 1 or 2.")
|
||||||
cashback_or_free_extras = None
|
cashback_or_free_extras = None
|
||||||
# calculate total cost and store order discount message
|
# calculate total cost and store order discount message
|
||||||
|
cashback_or_free_extras = int(cashback_or_free_extras)
|
||||||
if ((cashback > optional_extras_cost and cashback_or_free_extras == 1) or (cashback <= optional_extras_cost and cashback_or_free_extras == 2)):
|
if ((cashback > optional_extras_cost and cashback_or_free_extras == 1) or (cashback <= optional_extras_cost and cashback_or_free_extras == 2)):
|
||||||
cost = cost * 0.99
|
cost = cost * 0.99
|
||||||
order_message = "1% \cashback of Rs %.2f" % cashback
|
order_message = "1%s cashback of Rs %.2f" % ("%", cashback)
|
||||||
else:
|
else:
|
||||||
cost = cost - optional_extras_cost
|
cost = cost - optional_extras_cost
|
||||||
order_message = "free optional extras (Rs %.2f)" % optional_extras_cost
|
order_message = "free optional extras (Rs %.2f)" % optional_extras_cost
|
||||||
@@ -196,10 +200,14 @@ def prerelease_047822_india_2020():
|
|||||||
if payment_option == 2:
|
if payment_option == 2:
|
||||||
order_message = "no discount"
|
order_message = "no discount"
|
||||||
elif payment_option == 3:
|
elif payment_option == 3:
|
||||||
order_message = "5% price increase of Rs %.2f" % cost / 1.05 * 0.05
|
order_message = "5%s price increase of Rs %.2f" % ("%", cost / 1.05 * 0.05)
|
||||||
|
|
||||||
|
cost = cost - discount - trade_amount
|
||||||
|
|
||||||
# print order summary
|
# print order summary
|
||||||
print("\nOrder summary:")
|
print("\nOrder summary:")
|
||||||
print("Total cost: Rs %.2f - with %s" % (cost, order_message))
|
print("Total cost: Rs %.2f - with %s" % (cost, order_message))
|
||||||
payments_number = [1, 48, 80]
|
payments_number = [1, 48, 80]
|
||||||
print("%d payment(s) of Rs %.2f" % (payments_number[payment_option], cost / payments_number[payment_option]))
|
print("%d payment(s) of Rs %.2f" % (payments_number[payment_option - 1], cost / payments_number[payment_option - 1]))
|
||||||
|
|
||||||
|
prerelease_047822_india_2020()
|
||||||
Reference in New Issue
Block a user