Eddig három alapvető paranccsal tanultunk meg dolgozni:

for-ciklus

a hozzárendelési utasítás létrehozza vagy megváltoztatja egy változó tartalmát

nyomtasson ki néhány értéket a szövegterületre a print () használatával

olvassa el a billentyűzet által beírt értéket az input () segítségével

írnunk kellene:

Ez a Python kialakítása for-ciklus

For-ciklus

Fokozatosan bemutatjuk a ciklus használatának néhány alapvető típusát.

Ciklus adott számú ismétléssel

Ez a programkonstrukció a következő alakú:

Írjunk egy programot, amely ötször írja be a beírt szöveget:

A parancsblokk nemcsak egy parancsot tartalmazhat, hanem például több parancsot is

Az adott ciklusban megismételhető parancsok blokkja akkor ér véget, amikor egy parancssor megjelenik a for-line vonal szintjén. Így az utolsó „============” karakterű sor csak a ciklus befejezése után, azaz csak egyszer kerül kinyomtatásra:

Még nem tudjuk, hogy mire szolgál a ciklusváltozó (példánkban prem). A Python automatikusan beállítja ennek a változónak az értékét a ciklus végrehajtásának száma alapján. Tehát a lemez:

valójában azt jelenti:

Így a program felsorolja:

A változó számát nullázzuk a ciklus kezdete előtt. A kimenet például a következő lehet:

Ha 1 helyett hozzáadjuk a ciklusváltozó értékét:

0 és n-1 közötti számkészletet kapunk, azaz 0 + 1 + 2 + 3 +. + n-2 + n-1, például:

Látjuk, hogy 15 készlet 0 + 1 + 2 + 3 + 4 + 5 értékű .

Megjegyezzük, hogy ezzel az algoritmussal teljesen feleslegesen adunk 0-t a ciklus elején a siket változóhoz.

Ciklus megnevezett értékekkel

Mutassuk meg a következő típusú for-ciklust a példán:

és valóban kapunk:

Indítás után kapjuk:

A következő példa az egy nap napszámának kiszámítását mutatja az egyes hónapok napszámának összegeként:

Nyilvánvaló, hogy csak akkor használhatjuk ezt a típusú ciklust, ha pontos értéklistánk van, és nem olyan szám, amelyet a range () függvény korábban kezel. .

és az eredmény:

Akkumulátor minta

és valószínűleg ezt fogják írni:

Láttuk, hogy a range (n) függvény helyettesíti az egész értékek felsorolását 0-tól n-1-ig. Ez a funkció valójában egy kicsit univerzálisabb: lehetővé teszi, hogy ne csak a létrehozott szekvencia végértékét adja meg, hanem a kezdeti értéket is. Ebben az esetben a függvényt két paraméterrel hívjuk meg:

az első paraméter ezután a szekvencia kezdeti értékét jelzi

a második paraméter azt az értéket jelöli, amelynél a sorozatgenerálás véget ér, azaz. a sorrend csak a második paraméternél kisebb értékeket tartalmaz

és a kimenet például:

Most segíthetünk további sablon számítsa ki a tényezőt bármely beírt értékre is:

Futtassunk különböző értékekkel:

Ha a következő programot futtatjuk:

kapnánk egy 100 soros kimutatást 100 és 199 közötti számokkal. De most hasznos lenne, ha a print () egyes helyzetekben nem új sorral zárulna, hanem egy másik nyomtatás () folytatódna. A print () függvény új típusú paramétereit fogjuk használni:

print (., end = 'string') ¶ Paraméterek

end = 'string' ez a karakterlánc azonban felváltja a szokásos '\ n' opcionális másokat, leggyakrabban egyetlen szóköz vagy üres karakterlánc lesz ''

Ezt a paramétert az összes felsorolt ​​érték után utoljára kell feltüntetni a print () függvény paraméterlistájában. Ennek köszönhetően ezeknek az értékeknek a beírása után a beírt karakterlánc megírásra kerül, ahelyett, hogy új sorra lépne.

De egy üres karakterlánccal a végparaméterhez:

Ezt a rekordot főleg akkor fogjuk használni, ha nagyszámú értéket sorolunk fel, de akkor is, amikor a jelentés egy sorát össze kell állítanunk a program különböző részeiből, például:

tartomány (leállítás) В tartomány (indítás, leállítás) tartomány (indítás, leállítás, lépés) Paraméterek

Rajt a generált szekvencia első eleme (ha hiányzik, feltételezzük, hogy 0)

álljon meg olyan érték, amelynél a szekvencia következő értékének létrehozása leáll - ez az érték már nem lesz a sorozatban

lépés в hodnota “érték, amellyel a következő szekvenciaelemek mindegyike megnövekszik, ha ez a paraméter hiányzik, akkor feltételezzük, hogy 1

Ezt legjobban a különféle módon generált egész szekvenciák példáin mutatjuk be. A táblázat a különböző paraméterek eredményeit mutatja:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

10, 20, 30, 40, 50, 60, 70, 90

A tartomány () függvény paramétereinek speciális esete negatív lépés, azaz olyan helyzet, amikor csökkenő számsorra van szükségünk. Például a jelölési tartomány (15, 5, -1) azt jelzi, hogy a szekvencia első tagja 15 lesz, az összes többi 1-gyel kevesebb lesz (a paraméterlépés -1), és az utolsó nem lesz kisebb vagy egyenlő mint 5 (a stop paraméter 5). Teszteljük:

és megkapjuk a sorrendet:

Ez ugyanazt a sorrendet adja meg nekünk, mint az előző példában. Nézzük meg:

Mi sokkal olvashatóbb, mint a (9, -1, -1) tartomány használata .

Matematikai és véletlenszerű modulok

a type () függvény a megadott érték típusát adja vissza

Az int (), float () és str () függvények a megadott értéket egy másik típusba öntik (konvertálják)

A tartomány () és a fordított () függvény számok sorozatát hozza létre. kérdezik tőle

Matematikai modul

Az utolsó hibaüzenet azt állítja, hogy a sin függvényt csak egy paraméterrel kell meghívnunk (a paraméter nélküli hívások nem lesznek lehetségesek a Pythonban).

Hasonlóképpen megadhatjuk:

Ez azt jelzi, hogy a matematikai modulból származó sin () függvény valóban kiszámítja a szinuszt, de a szöget radiánban kell megadni. Ezért például a bűn (45) kiszámításához ki kell írnunk az egyik lehetőséget:

A második és a harmadik számítás vagy a konstans pi-t, vagy a radians () konverziós függvényt használja, amely a fokokat radiánokká konvertálja. Valószínűleg leggyakrabban a harmadik változatot fogjuk használni radiánokkal () .

Hozzon létre egy táblázatot a szinusz- és koszinusz-függvény 0 és 90 fokos szögek értékeléséhez az 5. lépésben:

Próbáljuk meg megrajzolni (a szövegterületen néhány karakter segítségével) a szinusz függvény menetét. Mivel ennek a függvénynek az értékterülete az 1> valós számok intervalluma, és ezeket az értékeket az utasítás szélességéig szeretnénk nyújtani 80 karakterig, ezért ezt írjuk:

A szövegmezőben lévő karakterlánc ekkor így néz ki:

Egy ilyen rekord kevésbé átlátszó, és nem javasoljuk annak használatát, különösen kezdőknek.

A napló használata a programozó feladata. Egyesek az előző verziót részesítik előnyben, a pont nevével megírva a könyvtár nevét, mert a program olvasása során egyértelműbb, hogy a függvény honnan jött.

Véletlenszerű modul

Ez a modul függvénykönyvtárat is tartalmaz, de ezek véletlen számok generálását teszik lehetővé. Legalább a következő két funkciót fogjuk használni ebből a könyvtárból:

Ezeknek a funkcióknak a működése érdekében nem szabad megfeledkeznünk az alábbiakról:

A második függvény, a választás (), nagyon hasonlóan működik. Ennek csak egyetlen paramétere van, amely valamilyen szekvencia kiértékelésére szolgál. Eddig két értéksorral találkoztunk: a tartomány (.) Funkció és a karakterláncok. Ha azt írjuk:

Számunkra a legérdekesebb karaktersorozat a tetszőleges karakterlánc. Például egy hívás:

választja Véletlen érték egy hat karakterből álló sorozatból - magánhangzók sorozata. Hasonlóképpen írhatnánk:

Vegye figyelembe, hogy a külső for-ciklus törzsében három parancs van (a j ciklusváltozóval): hozzárendelés, majd ún. beágyazott ciklus és a nyomtatás vége () függvényhívás .

A következő példákban számos különböző helyzetet mutatunk be, amelyekben a beágyazott for-ciklust használják.

Írjunk először egy programot, amely 0 és 99 és 10 sor közötti számokat sorol fel, úgy, hogy az első oszlopban 0 és 9, a másodikban 10 és 19 között, az utolsó tizedik számban pedig 90 és 99:

Indítás után kapjuk:

Ebben a programban a belső ciklusnak is vannak j ciklusváltozói a 10-es lépésekben szereplő értékekkel, de minden sorban más-más érték indul.

Ugyanazt az ötletet fogjuk használni, még akkor is, ha 0 és 99 közötti számtáblát készítünk, de másképp rendezve: az első sorban 0 és 9, a másodikban 10 és 19 között, az utolsó tizedikben pedig 90–99:

Természetesen a feladat megoldásának különféle különféle nyilvántartásai többek.

Figyelje meg mind a sor-, mind a számciklus-változó közül a kisebbet, így jobban megérthetjük, hogy melyik ciklusban mi történik. Fussunk például:

Ebben a megoldásban használjuk segédváltozó azt a számot, amelyet a ciklus előtt 1-re állítottunk, a belső ciklusban kinyomtatjuk az értékét (és nem a ciklusváltozót), majd növeljük 1-gyel .