Temat: Poszukuje programu

Witam, potrzebuje programu który umiał by porównac dwie listy zawierajace rózne dane.
Jedna lista produktów posiada nazwy i ceny, jak i druga... z tym że czasem nazwa ma jedno slowo wiecej lub mniej.
Druga lista może zawierać mniej lub wiecej produktów z pierwszej listy, i dobrze zeby program umial zaznaczyc które pozycje sie zgadzaja, a ktorych nie ma.

Potrzebuje tez moze to byc osobny program, który umial by porównac ceny czy nie sa za niskie lub za wysokie z pierwszej i drugiej listy :)

Zna ktos moze takie programy?

Ew czy ktos by mogl taki napisac?
Maciej P.

Maciej P. particular.pl

Temat: Poszukuje programu

proszę spróbować nowszy Excel niż 2013 opcja tabela przestawna do porównania danych, najczęściej kredytowych.

Temat: Poszukuje programu

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.

Następna dyskusja:

CES COGITO poszukuje trener...




Wyślij zaproszenie do