1
def skjerm():

    try:

        tall=int(input("Skriv inn et tall: "))
        if 10<tall<1:

            skjerm()
        else:
            main(tall)

    except ValueError:
        print ("Error")
        skjerm()

input<1または>10の場合、skjerm()を再実行しようとしています。しかし、私が言及された値を書くとき、それは何もしません。3.2を使用する

4

3 に答える 3

0

私が間違っていない場合は、のif 10<tall or tall<1:代わりに使用する必要if 10<tall<1があります。後者は常にですFalse

于 2012-10-29T23:46:26.327 に答える
0

連鎖比較は と組み合わされるandため、

10 < tall < 1

と同じです

(10 < tall) and (tall < 1)

これは常に偽です。

(10 < tall) or (tall < 1)代わりに試してください。

于 2012-10-30T00:01:09.787 に答える
0

使用する:

if not (1 <= tall <= 10): # or < if that's really what you want
    pass # do whatever

または、次のようにすることもできます。

if tall not in range(1, 11):
    pass # do something
于 2012-10-29T23:46:45.340 に答える