Kezdőoldal » Számítástechnika » Programozás » PYthon, segítség?

PYthon, segítség?

Figyelt kérdés

Hiba:

"python .\main.py

Bruttó bevétel (HUF): 20000

OK

Traceback (most recent call last):

File "*cenzúra*\main.py", line 30, in <module>

raise ValueTooSmall if doIt else print("OK")

TypeError: exceptions must derive from BaseException"


main.py: [link]

toolbar.py: [link]


2021. máj. 13. 11:46
 1/6 A kérdező kommentje:

Ha ezt megváltoztatom arra, hogy

if doIt:

raise ValueTooSmall

else:

print("ok")


akkor már jó. De egysoros megoldást miért nem szereti? Ha 0-nál kisebb értéket adok meg, tök jó, kiírja, hogy "A megadott számnak nagyobbnak kell lennie, mint 0 HUF!", de ha jó értéket adok meg, azaz nagyobbat mint 0, már a hibát dobja. Dehát miért?

2021. máj. 13. 11:52
 2/6 anonim ***** válasza:
67%

Nyilvan nem hasznalhatsz statementet a ternary operator operandusakent.

raise ValueTooSmall if doIt else print("OK")

Ezt igy ertelmezi a fordito:

raise (ValueTooSmall if doIt else print("OK"))

2021. máj. 13. 12:15
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:

AAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaa................

Értem, köszi!

Akkor semmiképp nem lehet megoldani 1sorosként, igaz? :D

Köszi a választ!

2021. máj. 13. 12:18
 4/6 anonim ***** válasza:

Miért nem a print részben csinálod meg, ?

try:

raise ValueTooSmall if doIt else print("ok")

except ValueTooSmall:

print("A megadott számnak nagyobbnak kell lennie, mint 0 HUF!") <<<--- itt?

exit()


Nem itt kéne?

2021. máj. 13. 12:54
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
Na jó, mondjuk ennek meg nem sok értelme lenne..:) #4-es voltam
2021. máj. 13. 12:59
Hasznos számodra ez a válasz?
 6/6 zozo256 ***** válasza:

Ha nagyon akarsz csinálhatsz ilyesmit:


exec('raise ValueTooSmall') if doIt else print("OK")


De ez elég nagy hackelésnek számít, a ternery operator arra van kitalálva, hogy visszadjon valamit, nem arra, hogy bizonyos függvények mellékhatásai segítségével kommunikáljon valami üzenetet.

2021. máj. 15. 16:10
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!