有人可以解释为什么我的代码无法正常工作吗?

时间:2020-02-20 02:31:56

标签: python if-statement range

我正在挑战,但是由于某种原因,每次运行它时,它说7个测试用例中有3个都不正确,不知道为什么?一切似乎井井有条。如果任务是挑战 给定整数,请执行以下条件操作:

如果是奇数,请打印怪异的 如果是偶数且在5到2的范围内,则打印Not Weird 如果是偶数且在6到20的范围内,请打印怪异的 如果大于等于20,则打印Not Weird

我的下面的代码:

n = int(input().strip())
if n % 2 != 0:
    print("Weird")
else:
    if n % 2 == 1 and n in range(2,5):
        print("Not Weird")

    elif n % 2 == 1 and n in range(6,20):
        print("Weird")

    elif n > 20:
        print("Not Weird")

2 个答案:

答案 0 :(得分:1)

尝试一下

n = int(input().strip())
if n % 2 != 0:
    print("Weird")
else:
    if n in range(2,6):
        print("Not Weird")

    elif n in range(6,21):
        print("Weird")

    elif n > 20:

 print("Not Weird"

答案 1 :(得分:0)

要在范围内包含5和20,您需要将其指定为number + 1。范围不包括最后一个数字。另外,当else失败时,控制跳到if时,无需在else部分中每次都检查偶数条件。

n = int(input().strip())
if n % 2 != 0:
    print("Weird")
else:
    if n in range(2,6):
        print("Not Weird")

    elif n in range(6,21):
        print("Weird")

    elif n > 20:
        print("Not Weird")