Kezdőoldal » Számítástechnika » Programozás » Ennél miért fut le az else ág?

Ennél miért fut le az else ág?

Figyelt kérdés

win7 Python3.7 Idle


Találtam a neten egy interaktív párbeszédszimulációt, bár pár dolgot változtattam rajta, hogy átláthatóbb legyen. A témája most mindegy is (bár kicsit lehangolt, mert nincs barátnőm).


[link]


A gond az, hogy az kód végén az utolsó else lefut, ha az első if igaz.

Szerintem az oka az, hogy a második input ( y=input() ) is lefut. Hogyan lehetne megoldani, hogy ne fusson le mindig a második input, és a "Can you read?"-et csak akkor írja ki, ha nem Yes-szel meg No-val válaszolunk? Illetve hogy a "Quit this game, now!" után a program leálljon, és a "Can you read?"-et ne írja ki?


(Bocsi ha nagyon alap a kérdés, de a kód hossza miatt kicsit megkeveredtem, mert eddig csak rövidebbeket írtam.)


Köszönöm a válaszokat.


2019. ápr. 6. 16:42
 1/2 anonim ***** válasza:

Azért, mert miután a program megkérdezte, hogy van-e barátnőd, akkor utána - bármit is válaszolsz - további választ vársz.


Mindezeket bele kellene rakni az elif ágba - valahogy így:

[link]

javaslat: adj értelmes változóneveket (az x,y,z,z1 jelen esetben nem az).

2019. ápr. 6. 17:02
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
Értem, nagyon szépen köszönöm! Mindig betűket szoktam használni változóknak, mert egyszerűbb mint egy szót leírni, bár igaz, hogy így félreérthetőbb, hiszen egy hosszabb program esetén a végére már nem is tudjuk, hogy melyik változó mi célt szolgált :/ Megfogadom a tanácsod.
2019. ápr. 6. 19:54

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!