Kezdőoldal » Számítástechnika » Programozás » "and" / "or" python?

"and" / "or" python?

Figyelt kérdés

x = [1, 2, 3, 4, 5, 6]

y = [2, 4, 1]


while len(x) != 0 and len(y) !=0:

----if len(x) != 0:

--------x.pop(0)

----if len(y) != 0:

--------y.pop(0)

print(x)

print(y)


Itt most arra számítanék, hogy a loop után mind2 üres lesz, de nem. Akkor lesz mind2 üres ha "or"-val csinálom. És ezt most nem értem, hogy miért van.



2022. júl. 30. 19:35
 1/6 anonim ***** válasza:
100%

Egyszerű logika.

len(x) != 0 and len(y) !=0: magyarul x nem üres és y nem üres. Ha az egyik üres a kettő közül, akkor az állítás hamis.

len(x) != 0 or len(y) !=0: x nem üres vagy y nem üres. Ez az állítás csak akkor lesz hamis, ha mindkettő üres.

2022. júl. 30. 19:49
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Pfúú ezen nem tudom mit nem értettem, köszönöm
2022. aug. 1. 15:34
 3/6 anonim ***** válasza:
Az y hamarabb elfogy, es akkor len(y) !=0 hamis lesz. A ciklusbol igy az ES miatt kilep
2022. aug. 1. 21:49
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

De igy is kinullazhatod oket:


y=[]

x=[]


es akkor uresek lesznek. ciklus nelkul

2022. aug. 1. 21:50
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

Vagy kicsit másképp fogalmazva:


while len(x) != 0 and len(y) !=0:

Csak akkor vizsgálja meg bármelyik listát, ha mindkettőben(!) van még elem. Amikor az y kiürül, a cilusfeltétel hamis lesz, vagyis innentől az x-re már rá sem néz, tehát az nem fog kiürülni.


while len(x) != 0 or len(y) !=0:

Ha külön-külön bármelyik üres, akkor megnézi őket. Vagyis ha az y üres, akkor is igaz marad a feltétel.

[link]


Ha mindenképpen pop-pal akarod (ld. #4), akkor inkább külön ciklussal csinálnám, semmivel sem lassabb, és az if-eket is meg tudod spórolni.

while len(x) !=0:

----x.pop(0)

while len(y) !=0:

----y.pop(0)

2022. aug. 3. 13:29
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

** ".. or ... Ha külön-külön bármelyik üres"

Bocsánat, ha bármelyik NEM üres. :)

2022. aug. 3. 17:18
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!