Mielivaltaiset Paikalliset Argumentit
Tunnet jo paikalliset ja valinnaiset argumentit. Kun funktio voi vastaanottaa useita syötteitä tai et tiedä niitä etukäteen, voit käyttää mielivaltaisia paikallisia argumentteja. Ne mahdollistavat funktion vastaanottamaan minkä tahansa määrän arvoja.
Jokainen argumentti voi olla mikä tahansa tietorakenne (lista, sanakirja jne.). Mielivaltaiset argumentit mahdollistavat niin monen tällaisen objektin välittämisen kuin tarvitaan.
Mielivaltaisten paikallisten argumenttien määrittämiseksi lisää tähti * parametrin nimen eteen. Esimerkki:
12345678# Define function with arbitrary positional arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
Tässä *values kerää kaikki annetut paikalliset argumentit tupleen. Funktion sisällä käytetään muuttujan nimeä ilman *-merkkiä. Tulos on oikea riippumatta siitä, kuinka monta argumenttia annetaan.
Vaikka mikä tahansa nimi käy, yleinen ja luettava tapa on käyttää *args.
1234567891011121314def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Kuten esimerkissä:
- Ei argumentteja →
argson(); - Yksi argumentti →
(1,); - Useita argumentteja → kaikki arvot näkyvät tuple-muodossa, esim.
(1, 2, 3, 'hello', [4, 5, 6]).
*args toimii kuten mikä tahansa tuple, tarjoten täyden joustavuuden useiden syötteiden käsittelyyn.
Swipe to start coding
Toteuta calculate_total-funktio, joka laskee ostoskoriin lisättyjen tuotteiden kokonaishinnan ja soveltaa alennuksia kokonaissumman perusteella.
- Käytä määrittelemättömiä paikallisia argumentteja nimellä prices
calculate_total-funktiossa. - Jos argumentteja ei anneta, palauta
"Your cart is empty.". - Sovella 20 %:n alennus, jos kokonaissumma on 200 $ tai enemmän.
- Sovella 10 %:n alennus, jos kokonaissumma on 100 $ tai enemmän.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 4.17
Mielivaltaiset Paikalliset Argumentit
Pyyhkäise näyttääksesi valikon
Tunnet jo paikalliset ja valinnaiset argumentit. Kun funktio voi vastaanottaa useita syötteitä tai et tiedä niitä etukäteen, voit käyttää mielivaltaisia paikallisia argumentteja. Ne mahdollistavat funktion vastaanottamaan minkä tahansa määrän arvoja.
Jokainen argumentti voi olla mikä tahansa tietorakenne (lista, sanakirja jne.). Mielivaltaiset argumentit mahdollistavat niin monen tällaisen objektin välittämisen kuin tarvitaan.
Mielivaltaisten paikallisten argumenttien määrittämiseksi lisää tähti * parametrin nimen eteen. Esimerkki:
12345678# Define function with arbitrary positional arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
Tässä *values kerää kaikki annetut paikalliset argumentit tupleen. Funktion sisällä käytetään muuttujan nimeä ilman *-merkkiä. Tulos on oikea riippumatta siitä, kuinka monta argumenttia annetaan.
Vaikka mikä tahansa nimi käy, yleinen ja luettava tapa on käyttää *args.
1234567891011121314def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Kuten esimerkissä:
- Ei argumentteja →
argson(); - Yksi argumentti →
(1,); - Useita argumentteja → kaikki arvot näkyvät tuple-muodossa, esim.
(1, 2, 3, 'hello', [4, 5, 6]).
*args toimii kuten mikä tahansa tuple, tarjoten täyden joustavuuden useiden syötteiden käsittelyyn.
Swipe to start coding
Toteuta calculate_total-funktio, joka laskee ostoskoriin lisättyjen tuotteiden kokonaishinnan ja soveltaa alennuksia kokonaissumman perusteella.
- Käytä määrittelemättömiä paikallisia argumentteja nimellä prices
calculate_total-funktiossa. - Jos argumentteja ei anneta, palauta
"Your cart is empty.". - Sovella 20 %:n alennus, jos kokonaissumma on 200 $ tai enemmän.
- Sovella 10 %:n alennus, jos kokonaissumma on 100 $ tai enemmän.
Ratkaisu
Kiitos palautteestasi!
single