Python:ifelse语句,如果给定的整数是奇数或偶数但在如下所示的特定范围内,则打印“怪异”,如果不是,则打印“不怪异”

2024-09-30 01:37:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个if-else函数,如果一个整数n是奇数,它将打印'wird',如果它是偶数,并且包含2到5,它将打印'Not wird',如果它在6到20之间,它将打印'wird',如果它是大于20的偶数,它将打印'Not wird'。我尝试了以下代码,但无法运行,您能告诉我问题是什么吗

#!/bin/python

import math
import os
import random
import re
import sys

if __name__ == '__main__':
    n = int(input().strip())

if n % 2 = 1:
    print ("Weird")

else:
    if n range(2,5):
        print:("Not Weird")

    else:
        if n range(6,20):
            print("Weird")

        else:
            print("Not Weird")

Tags: 函数代码importifbinnotrange整数
2条回答
  1. 您尚未定义函数
  2. 您忘记使用单词in来检查某个内容是否在某个范围内
  3. 您需要使用==运算符来检查相等性(而不是=,这是赋值)

这里也不需要范围,只需要简单的不等式运算符。您也不需要导入任何模块

def is_weird(n: int) -> bool:
    """Calculates whether or not a positive integer is 'weird'."""
    if n % 2 == 1:
        return True
    if n <= 5:
        return False
    if n <= 20:
        return True
    return False

def print_weirdness(n: int) -> None:
    """Prints whether or not a positive integer is 'weird'."""
    print("Weird" if is_weird(n) else "Not Weird")

n = int(input().strip())
print_weirdness(n)

我希望这有帮助!如果这不是您想要的,您仍然可以使用我的代码,但是可以重新组织部分

n = int(input('Write your number : ').strip())

if n % 2 == 1:
    #n is odd
    print ("Weird")

else:
    #n is even
    if 2 <= n <= 5:
        #n between 2 and 5 inclusive
        print("Not Weird")

    elif 6 <= n <= 20:
        #n between 6 and 20 inclusive
        print("Weird")

    elif n > 20:
        #n greater than 20
        print("Not Weird")

相关问题 更多 >

    热门问题