Python 奇数和偶数[如有]

Python 奇数和偶数[如有],python,Python,奇数和偶数[如有]条件的行使: 如果n为奇数,则打印为奇数 如果n为偶数且在2和5的包含范围内,则打印不奇怪 如果n为偶数,且在6和20的范围内,则打印 如果n为偶数且大于20,则打印不奇怪 A和D可以与相同 if n%2==0: print("Not Weird") else: print("Weird") 所以现在我必须考虑条件2和条件3。 我试着把它放进去 if n%2==0 or n in range (2,6): print("Not Weird") elif n in

奇数和偶数[如有]条件的行使:

  • 如果n为奇数,则打印为奇数
  • 如果n为偶数且在2和5的包含范围内,则打印不奇怪
  • 如果n为偶数,且在6和20的范围内,则打印
  • 如果n为偶数且大于20,则打印不奇怪
  • A和D可以与相同

    if n%2==0:
    print("Not Weird")
    
    else:
    print("Weird")
    
    所以现在我必须考虑条件2和条件3。 我试着把它放进去

    if n%2==0 or n in range (2,6):
        print("Not Weird")
    
    elif n in range (6,21):
        print("Weird")
    
    
    工作正常,但我在2到6之间的范围有问题。
    如果有人能给我解释一下怎么做以及背后的逻辑,我将不胜感激。

    将您的条件转换为python代码:

    n = 8
    
    if (n % 2 == 0 or n in range(2, 6)) and n not in range(6, 21):
        print("Not Weird")
    
    elif n in range(6, 21):
        print("Weird")
    
    if (n%2==0) and (n in range(2,6) or n > 20): #Conditions B and D
        print('Not Weird')
    elif (n%2 == 1) or (n%2 == 0 and n in range(6, 21)): #Conditions A and C
        print('Weird')
    
    然而,由于它们是互斥的,所以您可以使用and
    if-else
    语句

    if (n%2==0) and (n in range(2,6) or n > 20): #Conditions B and D
        print('Not Weird')
    else:
        print('Weird')
    

    对于“B”,您有“如果n是偶数并且在2和5的包含范围内,则打印不奇怪”(强调我的)。再考虑一下……如果任务是处理所有案例,那么我建议你尝试在所有四个案例之间找到一些共同点。对于这一点,似乎是
    n
    是偶数还是奇数。从那开始。然后,对于B、C和D,您只需在
    n
    为偶数时修改所采用的路径,如果
    位于偶数路径内,您可以将这些路径作为新的嵌套
    。这是错误的,代码对6以下的数字不起作用。如果我尝试输入1:它将不会显示任何内容。如果我尝试输入2,3,4,5:不奇怪。如果需要在“不奇怪”中包含6,则必须将范围重新定义为n=8,如果(n%2==0或范围(2,7)中的n)和范围(7,21)中的n:print(“不奇怪”):elif n in range(6,21):print(“奇怪”),问题不仅是6,还有4。很好,这是正确的答案,我不知道你可以打电话(n%2==0,n在范围(6,21))看看例子,这让我大开眼界。谢谢