Python函数问题

Python函数问题,python,function,Python,Function,我写了两个函数。第一个在调用时检查数字是否为三位数,第二个在检查数字是否为偶数或奇数: def even(n): if n%2==0: print('number {} is even'.format(n)) else: print('number {} is not even'.format(n)) return def main(n): kraj=True while(kraj): a=int(

我写了两个函数。第一个在调用时检查数字是否为三位数,第二个在检查数字是否为偶数或奇数:

def even(n):
    if n%2==0:
        print('number {} is even'.format(n))
    else:
        print('number {} is not even'.format(n))
        return

def main(n):
    kraj=True
    while(kraj):
        a=int(input('three-digit number pls: '))
        if (a>99 and a<1000):
            kraj=False
            return True
        else:
            print('I said three-digit number!! ::')
            return False
main(0)
def偶数(n):
如果n%2==0:
打印('number{}为偶数'。格式(n))
其他:
打印('number{}不是偶数'。格式(n))
返回
def干管(n):
kraj=真
而(kraj):
a=int(输入('三位数请:'))
如果(a>99和a
  • 您必须返回a的值,以便在其他地方使用它
  • 您还有一个
    while
    ,并返回if和else。
    因此,您不需要while循环。或者您希望用户在出现错误时重新输入,那么您必须去掉else中的
    返回
  • 你应该给你的函数一个更有意义的全名,比如
    read\u三位数\u number
  • 你通常不会在
    if
    while
  • 改进的代码

    def read_threedigit_number(n):
        while True:
            a=int(input('three-digit number pls: '))
            if a>99 and a<1000:
                return a
            else:
                print('I said three-digit number!')
    
    
    a = read_threedigit_number(0)
    even(a)
    
    def读取三位数(n):
    尽管如此:
    a=int(输入('三位数请:'))
    
    如果a>99和a则必须在
    main()
    函数中返回
    a
    ,并将其传递给
    偶数
    函数

    def main(n):
        kraj=True
        while(kraj):
            a=int(input('three-digit number pls: '))
            if (a>99 and a<1000):
                kraj=False
                return a
            else:
                print('I said three-digit number!! ::')
                return False
    
    a = main(0)
    even(a)
    
    def干管(n): kraj=真 而(kraj): a=int(输入('三位数请:'))
    如果(a>99,a缩进在哪里?!调用
    偶数(a)
    时完全错误是什么?在定义
    a
    时调用它吗?偶数(1);偶数(2)
    工作吗?在哪里调用偶数()函数?三位数pls:111>>偶数(a)回溯(最近一次调用):文件“”,第1行,偶数(a)名称错误:名称“a”没有定义我很抱歉,第一次使用这个网站我有点笨…而且我对python真的很陌生所以…请原谅所有的错误太好了!简单有效:D谢谢这很酷,伙计,问题是一旦不是三位数,我就必须重新输入数字,这就是为什么“while”是的,但我现在想在main以外的地方定义函数。更多用法,谢谢