Kako koristiti naredbu switch sa nizovima u Pythonu (simulirano)?

Nov 20, 2025

Ostavi poruku

U Pythonu nema ugrađenogprekidačizraz kao u nekim drugim programskim jezicima kao što su C, Java ili JavaScript. Međutim, možemo simulirati aprekidačizjava koristeći različite tehnike, posebno kada se radi sa nizovima. Kao dobavljač prekidača, vodit ću vas kroz kako to postići i pokazati vam neke praktične primjene s našim visokokvalitetnim prekidačima kao što suZ - 15GQ - B Q8 Q21 Q22 Osnovni prekidač,514120 Actuator, i504222 Sigurnosni prekidač.

Simulacija naredbe Switch u Pythonu

Najčešći način simulacije aprekidačizjava u Pythonu je korištenjem rječnika. Rječnik u Pythonu mapira ključeve u vrijednosti, koje mogu biti funkcije ili izrazi. Kada želimo da izvedemo različite radnje na osnovu određene vrednosti, možemo koristiti ovo mapiranje da postignemo sličan efekat kaoprekidačizjava.

Počnimo s jednostavnim primjerom. Pretpostavimo da imamo niz brojeva i želimo da izvedemo različite operacije na osnovu svakog broja.

def operation_1(): return "Operacija 1 izvršena" def operation_2(): return "Operacija 2 izvršena" def operation_3(): return "Operacija 3 izvršena" switch_dict = { 1: operacija_1, 2: operacija_2, 3: operacija_3 } numbers = [1, 2, 3] za broj: get num switch: num da. "Nije definirana operacija")() print(rezultat)

U ovom kodu prvo definiramo tri funkcijeoperacija_1,operacija_2, ioperacija_3. Zatim kreiramo rečnikswitch_dictgdje su ključevi brojevi, a vrijednosti odgovarajuće funkcije. Kada ponavljamo krozbrojeviarray, koristimodobitimetodu rječnika za pronalaženje odgovarajuće funkcije na osnovu trenutnog broja. Ako broj nije u rječniku, koristimo lambda funkciju koja vraća zadanu poruku.

504222 Magnetic Safety Switch PilzZ-15GQ22-B Basic Switch

Praktična primjena s komponentama prekidača

Sada, hajde da razmotrimo praktičniji scenario koji se odnosi na naše switch proizvode. Pretpostavimo da imamo niz modela prekidača i želimo prikazati različite informacije o svakom modelu.

def z_15gq_info(): return "Osnovni prekidač Z - 15GQ - B Q8 Q21 Q22 je prekidač visokih performansi pogodan za različite industrijske aplikacije. Nudi pouzdano povezivanje i dugoročnu izdržljivost." def actuator_514120_info(): return "Pogon 514120 je dizajniran da pruži preciznu kontrolu za prekidače. Osigurava nesmetan rad i precizno aktiviranje." def safety_switch_504222_info(): return "Sigurnosni prekidač 504222 je bitna komponenta za osiguranje sigurnosti u industrijskim okruženjima. Može brzo prekinuti napajanje u slučaju nužde." switch_info_dict = { "Z - 15GQ - B Q8 Q21 Q22": z_15gq_info, "514120": actuator_514120_info, "504222": sigurnosni_switch_504222_info } switch_models = ["Q - B12", 0 "Q15", 0 "504222"] za model u switch_models: info = switch_info_dict.get(model, lambda: "Nema dostupnih informacija")() print(info)

U ovom primjeru definiramo funkcije za pružanje informacija o svakom od naših switch proizvoda. Theswitch_info_dictmapira imena modela prekidača na ove funkcije. Kada ponavljamo krozswitch_modelsarray, možemo dobiti relevantne informacije o svakom modelu prekidača.

Rukovanje složenim nizovima

Ponekad, niz s kojim imamo posla može sadržavati složenije strukture podataka, kao što su liste ili rječnici. Recimo da imamo niz rječnika, gdje svaki rječnik predstavlja narudžbu kupca za zamjenski proizvod.

porudžbine = [ {"proizvod": "Z - 15GQ - B Q8 Q21 Q22", "količina": 5}, {"proizvod": "514120", "količina": 3}, {"proizvod": "504222", "količina": 2} ] def izračunati_ukupnu_cijenu od 10 kvantiteta: Z - 15GQ - B Q8 Q21 Q22 je 100$ povratna cijena * količina def Calculate_total_price_514120(količina): cijena = 50 # Pretpostavimo da je cijena 514120 $50 povratna cijena * količina def Calculate_total_price_504222 je cijena 4 od 2 (količina 2): cijena 4 od 2: $80 povratna cijena * količina price_calculation_dict = { "Z - 15GQ - B Q8 Q21 Q22": izračunati_ukupnu_price_z_15gq, "514120": izračunati_ukupnu_cijenu_514120, "504222": izračunati_ukupnu cijenu za porudžbinu: 42_cijena 2 porudžbine 0} order["product"] quantity = order["quantity"] price_calculator = price_calculation_dict.get(product, lambda q: 0) total_cost += price_calculator(quantity) print(f"Ukupni trošak svih narudžbi je ${total_cost}")

U ovom kodu imamo niz rječnikanaređenja, gdje svaki rječnik sadrži naziv proizvoda i naručenu količinu. Definiramo funkcije za izračunavanje ukupne cijene za svaki proizvod i kreiramo rječnikprice_calculation_dictda mapirate nazive proizvoda na ove funkcije. Iteracijom kroznaređenjaniz, možemo izračunati ukupne troškove svih narudžbi.

Rukovanje greškama i rubni slučajevi

Prilikom simulacije aprekidačizraz sa nizovima u Pythonu, važno je pravilno postupati s greškama i rubnim slučajevima. Na primjer, ako ključ koji tražimo nije u rječniku, trebali bismo imati razumno zadano ponašanje. U prethodnim primjerima koristili smo lambda funkciju da vratimo zadanu poruku ili zadanu vrijednost.

Drugi važan aspekt je osigurati da vrijednosti u nizu budu ispravnog tipa. Ako su ključevi u rječniku određenog tipa (npr. cijeli brojevi ili stringovi), vrijednosti u nizu treba da odgovaraju ovom tipu. Inače, thedobitimetoda možda neće raditi kako se očekuje.

Zaključak

Simulacija aprekidačizjava u Pythonu pomoću rječnika je moćan i fleksibilan način za rukovanje različitim akcijama na osnovu vrijednosti u nizu. Bilo da radite na jednostavnom zadatku programiranja ili se bavite scenarijima iz stvarnog svijeta koji se odnose na zamjenske proizvode, ova tehnika vam može pomoći da napišete organiziraniji kod koji se može održavati.

Kao dobavljač prekidača, nudimo širok spektar visokokvalitetnih proizvoda prekidača, uključujući iZ - 15GQ - B Q8 Q21 Q22 Osnovni prekidač,514120 Actuator, i504222 Sigurnosni prekidač. Ako ste zainteresirani za naše proizvode ili imate bilo kakva pitanja o aplikacijama prekidača, slobodno nas kontaktirajte radi nabavke i daljnjih razgovora.

Reference

  • Python dokumentacija: https://docs.python.org/3/
  • Python za svakoga: Charles Severance

Pošaljite upit