Как проверить наличие нескольких исключений в Python? - PullRequest
0 голосов
/ 11 мая 2011

DNASequence = "laksjfklsajdfklsajfklasjfklsad"

    while True:
        lMerLength = input("Please enter the length of the l-mers of the universal array :")
        try:
            if len(DNASequence) >= lMerLength > 0:
                break
        except SyntaxError:
            pass
        #This is not working. How do I check for multiple exceptions in Python?
        except NameError:
            pass
        print "ERROR: Please check your input. You entered an invalid input."

Ответы [ 2 ]

2 голосов
/ 14 июня 2011

Вот как вы проверяете наличие нескольких исключений.

try:

    ..............

кроме (SyntaxError, NameError, ...):

    ..............

finally:

    .............
0 голосов
/ 11 мая 2011

Проблема в том, что input возвращает строку, и вы сравниваете эту строку в вашем if с int.А в Python 2.x вы должны использовать raw_input вместо input:

DNASequence = "laksjfklsajdfklsajfklasjfklsad"
while True:
    try:
        lMerLength = int(raw_input("Please enter the length of the l-mers of the universal array :"))
    except ValueError:
        print "ERROR: Please check your input. You entered an invalid input."
        continue
    if len(DNASequence) >= lMerLength > 0:
        break
    print "ERROR: Please check your input. You entered an invalid input."
...