Python - if
Szelekciós vezérlés - Elágazás - Feltételmegadás - Választás
Akkor használjuk, ha valamilyen feltétel szerint kell eldönteni, hogy a program mit tegyen
Legegyszerűbb esetben, ha a feltétel teljesül, akkor végrehajt a program egy utasítást, ha pedig nem teljesül, akkor nem hajtja végre.
1. példa: A program beolvas egy egész számot és ha az páros, akkor kiírja, hogy páros, ha nem páros, akkor nem ír ki semmit:
1a = input("Add meg a számot!")
2a = int(a)
3
4if a%2 == 0:
5 print("páros")
1#include <iostream>
2using namespace std;
3
4int main()
5{
6 int a;
7 cout << "Add meg a számot!";
8 cin >> a;
9
10 if (a%2==0){
11 cout << "páros";
12 }
13
14 return 0;
15}
1<?php // adatbevitel URL-ből például GET metódussal így: URL?a=8
2echo "Add meg az 'a' számot!<br>";
3
4if (isset($_GET["a"])){
5 $a=$_GET["a"];
6
7 if ($a%2==0){
8 echo "páros";
9 }
10 }
11?>
Ebben a példában a az if és a : között adjuk meg a feltételt, aminek az értéke vagy igaz, vagy hamis lesz. ha igaz, akkor hajtódik végre : után következő sorban bentebb kezdődő utasítás
Egy fokkal bonyolultabb esetben, ha a feltétel teljesül, akkor végrehajt a program egy utasítást, ha pedig nem teljesül, akkor egy másik utasítást hajt végre.
2. példa: Az előző program továbbfejlesztve: a program beolvas egy egész számot és ha az páros, akkor kiírja, hogy páros, ha nem páros, akkor pedig azt írja ki, hogy páratlan:
1a = input("Add meg a számot!")
2a = int(a)
3
4if a%2 == 0:
5 print("páros")
6else:
7 print("páratlan")
1#include <iostream>
2using namespace std;
3
4int main()
5{
6 int a;
7 cout << "Add meg a számot!";
8 cin >> a;
9
10 if (a%2==0){
11 cout << "páros";
12 }
13 else{
14 cout << "páratlan";
15 }
16
17 return 0;
18}
1<?php // adatbevitel URL-ből például GET metódussal így: URL?a=8
2echo "Add meg az 'a' számot!<br>";
3
4if (isset($_GET["a"])){
5 $a=$_GET["a"];
6
7 if ($a%2==0){
8 echo "páros";
9 }
10 else{
11 echo "páratlan";
12 }
13 }
14?>
Ebben a példában az if és a : között adjuk meg a feltételt, aminek az értéke vagy igaz, vagy hamis lesz. ha igaz, akkor hajtódik végre az első utasítás, különben ha nem igaz, akkor a második utasítás hajtódik végre
Legbonyolultabb esetben, több feltétel is van és az hajtódik végre sorban haladva, amelyik elsőként bizonyul igaznak. Ha egyik feltétel sem teljesül, akkor pedig az else ág hajtódik végre.
3. példa: Osztályozó program az érettségi ponthatárok alapján:
1a = input("Add meg a 0 és 100 pont között elért pontszámot!")
2a = int(a)
3
4if a<25:
5 print("elégtelen")
6elif a<40:
7 print("elégséges")
8elif a<60:
9 print("közepes")
10elif a<80:
11 print("jó")
12elif a<=100:
13 print("jeles")
1#include <iostream>
2using namespace std;
3
4int main()
5{
6 int a;
7 cout << "Add meg a 0 és 100 pont között elért pontszámot!";
8 cin >> a;
9
10 if (a<25){
11 cout << "elégtelen";
12 }
13 else if (a<40){
14 cout << "elégséges";
15 }
16 else if (a<60){
17 cout << "közepes";
18 }
19 else if (a<80){
20 cout << "jó";
21 }
22 else if (a<=100){
23 cout << "jeles";
24 }
25
26 return 0;
27}
1<?php // adatbevitel URL-ből például GET metódussal így: URL?a=8
2echo "Add meg a 0 és 100 pont között elért pontszámot!<br>";
3
4if (isset($_GET["a"])){
5 $a=$_GET["a"];
6
7 if ($a<25){
8 echo "elégtelen";
9 }
10 elseif ($a<40){
11 echo "elégséges";
12 }
13 elseif ($a<60){
14 echo "közepes";
15 }
16 elseif ($a<80){
17 echo "jó";
18 }
19 elseif ($a<=100){
20 echo "jeles";
21 }
22
23 }
24?>
Ugyanez else ággal.
1a = input("Add meg a 0 és 100 pont között elért pontszámot!")
2a = int(a)
3
4if a<25:
5 print("elégtelen")
6elif a<40:
7 print("elégséges")
8elif a<60:
9 print("közepes")
10elif a<80:
11 print("jó")
12elif a<=100:
13 print("jeles")
14else:
15 print("rossz pontszámot adtál meg")
1#include <iostream>
2using namespace std;
3
4int main()
5{
6 int a;
7 cout << "Add meg a 0 és 100 pont között elért pontszámot!";
8 cin >> a;
9
10 if (a<25){
11 cout << "elégtelen";
12 }
13 else if (a<40){
14 cout << "elégséges";
15 }
16 else if (a<60){
17 cout << "közepes";
18 }
19 else if (a<80){
20 cout << "jó";
21 }
22 else if (a<=100){
23 cout << "jeles";
24 }
25 else{
26 cout << "rossz pontszámot adtál meg";
27 }
28
29 return 0;
30}
1<?php // adatbevitel URL-ből például GET metódussal így: URL?a=8
2echo "Add meg a 0 és 100 pont között elért pontszámot!<br>";
3
4if (isset($_GET["a"])){
5 $a=$_GET["a"];
6
7 if ($a<25){
8 echo "elégtelen";
9 }
10 elseif ($a<40){
11 echo "elégséges";
12 }
13 elseif ($a<60){
14 echo "közepes";
15 }
16 elseif ($a<80){
17 echo "jó";
18 }
19 elseif ($a<=100){
20 echo "jeles";
21 }
22 else{
23 echo "rossz pontszámot adtál meg";
24 }
25
26 }
27?>
Ugyanez egymástól független, különálló elágazásokkal.
1a = input("Add meg a 0 és 100 pont között elért pontszámot!")
2a = int(a)
3
4if a<25:
5 print("elégtelen")
6if 25<=a and a<40:
7 print("elégséges")
8if 40<=a and a<60:
9 print("közepes")
10if 60<=a and a<80:
11 print("jó")
12if 80<=a and a<=100:
13 print("jeles")
1#include <iostream>
2using namespace std;
3
4int main()
5{
6 int a;
7 cout << "Add meg a 0 és 100 pont között elért pontszámot!";
8 cin >> a;
9
10 if (a<25){
11 cout << "elégtelen";
12 }
13 if (25<=a && a<40){
14 cout << "elégséges";
15 }
16 if (40<=a && a<60){
17 cout << "közepes";
18 }
19 if (60<=a && a<80){
20 cout << "jó";
21 }
22 if (80<=a && a<=100){
23 cout << "jeles";
24 }
25
26 return 0;
27}
1<?php // adatbevitel URL-ből például GET metódussal így: URL?a=8
2echo "Add meg a 0 és 100 pont között elért pontszámot!<br>";
3
4if (isset($_GET["a"])){
5 $a=$_GET["a"];
6
7 if ($a<25){
8 echo "elégtelen";
9 }
10 if (25<=$a and $a<40){
11 echo "elégséges";
12 }
13 if (40<=$a and $a<60){
14 echo "közepes";
15 }
16 if (60<=$a and $a<80){
17 echo "jó";
18 }
19 if (80<=$a and $a<=100){
20 echo "jeles";
21 }
22
23 }
24?>
Fontos:
A kettöspont után entert nyomva a következő sor eleje bentebb kezdődik. A python programnyelv így jelöli, hogy a bentebb kezdődő sor, vagy sorok az adott kettöspontra végződő sorhoz tartoznak és csak akkor hajtódnak végre, ha a hozzájuk tartózó feltétel igazként teljesül.
Minden feltételes ágban több utasítás is szerepelhet.
Első ág if szóval kezdődik és feltételmegadás után : kettőspontra végződik
További feltételes ágak elif szóval kezdődnek és feltételmegadás után : végződnek.
Amennyiben szükséges a minden más esetet jelölő ág, akkor az else: és nem tartalmaz feltételt.