Hirdetés
- MasterDeeJay: Asus B150-Plus D3 coffeetime mod! (DDR3)
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- MasterDeeJay: i7 4980HQ asztali gépben (vs i7 4770)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- ricsi99: 6. Genes alaplap tündöklése kontra MS/Zintel korlátozásai
- Gurulunk, WAZE?!
- bambano: Bambanő háza tája
- sziku69: Szólánc.
Új hozzászólás Aktív témák
-
axioma
veterán
válasz
Hege1234
#3506
üzenetére
Jaaa, hogy meglevo batch helyett irod, akkor mar ertem hogy hogyan kerulhetett bele ciklus...
Szerintem kicsit osszevonom neked, szolj ha nem igy ertetted a "ne lepjen ki"-t:while True:
try:
ans = input("\nírd ide a számot: ")
num = int(ans)
if 1<=num<=5:
return num-1
print("csak 1-5-ig írhatsz ide számot!")
except ValueError:
print("ide csak számot írhatsz!")
Ez igy addig nem lep ki, es raadasul szelektiv hibauzenetet ad, amig nem jo erteket ir be a user. Igy viszont kilepni lesz nehez belole (jo, ctrl-c vagy ablak becsuk).
Termeszetesen ekkor mar nem kell a kulso try-except.
Me'g egy aprocska megjegyzes: ha a pick fuggvenyed ismeri az options-t, akkor nem sok ertelme van annak, hogy az indexszel tersz vissza, lehetne egybol az ertekkel (return options[num-1]es aquality=pick(options)is egyszerusodik).Kiegeszites: ha me'gis dict-tel csinalnad akkor a szamot se kene kulon konvertalni es kulon vizsgalni, igaz kevesbe szelektiv hibauzenettel, de az egesz ide egyszerusodik:
def pick(options):
print("\nminőség kiválasztása:\n")
for idx, element in options.items():
print("{} = {}".format(idx, element))
while True:
try:
ans = input("\nírd ide a számot: ")
return options[int(ans)]
except ValueError,KeyError:
print("ide csak 1-5 egész számot írhatsz!")
options = {1:"1080", 2:"720", 3:"540", 4:"480", 5:"360"]
quality = pick(options)
print(quality)
(azert nem megy tombbel, mert a pythonban - minden mas esetben udvozlendo modon - le'tezik a negativ indexeles, tehat ha tombbel csinalnad es IndexError-t varnal, akkor a 0 beirasa az 5-os erteknek felelne meg es hiba nelkul atmenne)
(Valamint a teljes konvertalas kikerulheto, ha a dict-nek a kulcsa az '2' alakban van megadva es nem 2 szamkent. Mondjuk a szamossal me'g az 1+1 input is ervenyes, ugy meg a '2 ' - plusz szokoz - se menne at... szoval azt nem javaslom. Anno ezeket ahol megoldhato nem inputtal - valasztott szam + enter -, hanem keyboard figyelessel oldottak meg, ott akkor 1 billt nez csak meg, mar amig nincs 10-nel tobb opciod.)
Új hozzászólás Aktív témák
- Diablo IV
- MasterDeeJay: Asus B150-Plus D3 coffeetime mod! (DDR3)
- Samsung Galaxy A57 - kecses test, lusta lélek
- Xbox tulajok OFF topicja
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- exHWSW - Értünk mindenhez IS
- OLED TV topic
- Battlefield 6
- Milyen okostelefont vegyek?
- Építő/felújító topik
- További aktív témák...
- Nuki Smart Lock Pro 4 garanciás, dobozos, hibátlan
- Lenovo ThinkPad // T - Széria // X1 carbon // X1 Yoga 2-in-1 // és a többiek... 8-12. gen. 12-15"
- Dell Latitude 5411,14",FHD,i5-10400H,8GB DDR4,256GB SSD,WIN11,IR kamera
- Apple iPhone 13 512GB eladó! 100%, Szép megkímélt állapot, 12 hónap garancia
- Cayin ha 3a csöves fejhallgató erősítő
- AKCIÓ! EVGA FTW3 Ultra Gaming RTX 3080Ti 12GB videókártya garanciával hibátlan működéssel
- Eladó Realme 11 5G 8/256GB / 12 hónap jótállás
- Lenovo ThinkPad X1 Nano Gen 1 2K kijelző / i7 / 1TB SSD / 1kg alatt
- Apple iPhone 14 Pro Max 128GB,Újszerű,Dobozaval,12 hónap garanciával
- Samsung Galaxy S23 Ultra / 8/256GB / Kártyafügetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
