Wypowiedzi
-
Proponuje skorzystać z ChatGPT.
Możesz napisać program, który będzie porównywać listy za pomocą pętli i warunków. Można na przykład przeiterować po elementach pierwszej listy i sprawdzić, czy element o tej samej nazwie lub nazwie podobnej (np. z jednym słowem więcej lub mniej) znajduje się w drugiej liście. Jeśli tak, można zaznaczyć, że te elementy są takie same. Jeśli nie, można oznaczyć, że element z pierwszej listy nie został znaleziony w drugiej liście.
Aby porównać ceny, możesz dodać kolejny warunek sprawdzający, czy cena z pierwszej listy jest zbyt niska lub zbyt wysoka w stosunku do ceny z drugiej listy. Możesz ustalić pewien margines błędu, w ramach którego ceny będą uważane za zgodne, np. cena z pierwszej listy może być nie więcej niż 10% wyższa lub niższa od ceny z drugiej listy.
Oto przykład prostego programu w Pythonie, który porównuje dwie listy z nazwami i cenami produktów:
products1 = [
{'name': 'Product 1', 'price': 10.99},
{'name': 'Product 2', 'price': 5.99},
{'name': 'Product 3', 'price': 15.99},
]
products2 = [
{'name': 'Product 1', 'price': 9.99},
{'name': 'Product 2', 'price': 5.99},
{'name': 'Product 4', 'price': 20.99},
]
for p1 in products1:
found = False
for p2 in products2:
if p1['name'] == p2['name']:
found = True
if abs(p1['price'] - p2['price']) > p1['price'] * 0.1:
print(f"Price mismatch for {p1['name']}: {p1['price']} in products1 vs {p2['price']} in products2")
else:
print(f"{p1['name']} found in both lists with matching prices")
break
if not found:
print(f"{p1['name']} not found in products2")
Ten program wypisze informację o każdym produkcie z pierwszej listy, czy został znaleziony, a jeśli został znaleziony, to czy ceny są zgodne.
Przykładowy wynik działania tego programu dla podanych list produktów to:
Product 1 found in both lists with matching prices
Product 2 found in both lists with matching prices
Product 3 not found in products2
Możesz dostosować ten program do swoich potrzeb, np. poprzez dodanie sprawdzenia czy nazwa produktu z pierwszej listy jest podobna (np. różni się o jedno słowo) do nazwy produktu z drugiej listy, czy też poprzez zmianę marginesu błędu dla cen.