python połączenie warunków if try

0

Hej, mam zrobić tak, aby program po wpisaniu niepoprawnych danych za pierwszym razem prosił o ponowne spróbowanie, a za drugim niepoprawnym wpisaniem kończył pracę. Tylko, że program ma wczytać liczbę większą od 10 i mniejszą od 20(słabe nierówności). I dochodzi do tego oczywiście ValueError. Czyli chciałabym tak:

try:
     a=int(input('podaj liczbe'))
except ValueError or a<10 or a>20:
     print('jeszcze raz')
     try:
          a=int(input('podaj'))
     except ValueError or a<10 or a>20:
          return

jednak po except te dwa warunki nie chcą działać, jak to zrobić?

0
def readValue() :
    a = None
    try :
        a=int(input('podaj liczbe'))
    except ValueError :
        a=0
    if a<10 or a>20 :
        try:
            a=int(input('popraw'))
        except ValueError:
            return
    if a<10 or a>20 :
         return
    return a
0

niestety nie działa, przy próbie uruchomienia wyrzuca invalid syntax i zaznacza na czerwono ten drugi except, co zmienić?

1 użytkowników online, w tym zalogowanych: 0, gości: 1