Some simple code that compares prices from multiple stores, but I'm wondering what would happen if 10 prices needed to be compared and the result to be only the most expensive/cheapest out of the 10 ...
Is there an easier way to compare them without writing excess lines of code for efficiency? Maybe if statements?
walmart = input("Enter walmart price: ")
dollarstore = input("Enter Dollar store price: ")
amazon = input("Enter Amazons price: ")
exstore4 = input("Enter Example Store 4 price: ")
exstore5 = input("Enter Example Store 5 price: ")
if walmart <= dollarstore and dollarstore <= amazon:
print("Walmart has the cheapest price.")
elif dollarstore <= amazon and amazon <= walmart:
print("Dollar Store has the cheapest price.")
elif amazon <= walmart and walmart <= dollarstore:
print("Amazon has the cheapest price.")
elif amazon <= dollarstore and dollarstore <= walmart:
print("Amazon has the cheapest price.")
elif walmart == amazon and amazon == dollarstore:
print("All stores have the same price.")
else:
print("Something isnt right...")
CodePudding user response:
Put them all in an array with name
, then sort them and get their names
walmart = input("Enter walmart price: ")
dollarstore = input("Enter Dollar store price: ")
amazon = input("Enter Amazons price: ")
exstore4 = input("Enter Example Store 4 price: ")
exstore5 = input("Enter Example Store 5 price: ")
values = [
{"name": 'Wallmart', "value": walmart},
{"name": 'Dollar store', "value": dollarstore},
{"name": 'Amazons', "value": amazon},
{"name": 'Example Store 4', "value": exstore4},
{"name": 'Example Store 5', "value": exstore5},
]
values.sort(key=lambda a: a["value"])
# get only 1 store:
print(values[0]["name"] ' has the cheapest price.')
# or find all cheapest store:
# Find last same price index
i=1
while i<len(values) and values[i]['value'] == values[0]['value']: i =1
if i==len(values): print('All stores have the same price.')
elif i==1: print(values[0]["name"] ' has the cheapest price.')
else: print(' and '.join([value["name"] for value in values[0:i]]) ' have the cheapest price.')
CodePudding user response:
walmart = input("Enter walmart price: ")
dollarstore = input("Enter Dollar store price: ")
amazon = input("Enter Amazons price: ")
exstore4 = input("Enter Example Store 4 price: ")
exstore5 = input("Enter Example Store 5 price: ")
i = (walmart, dollarstore, amazon, exstore4, exstore5)
cheapest = min(i)
print(cheapest)
if cheapest == walmart:
print("Walmart has the cheapest price of", cheapest)
elif cheapest == dollarstore:
print("Dollar Store has the cheapest price of", cheapest)
elif cheapest == amazon:
print("Amazon has the cheapest price of", cheapest)
elif walmart == amazon and amazon == dollarstore:
print("All stores have the same price.")
else:
print("Something isnt right...")