Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 返回函数值以确定要打印的内容_Python - Fatal编程技术网

Python 返回函数值以确定要打印的内容

Python 返回函数值以确定要打印的内容,python,Python,我将用参数“n”生成一个函数。我想要一个函数将“n”返回为0或1。如果为0,则认为用户输入小于或等于0。如果为1,则认为用户输入大于0 这就是我到目前为止所做的,我不知道如何纠正我的错误 def main(): n = int(input("Enter a value: ")) integer(n) def integer(n): if n <= 0: return n*0 elif n > 0: return n*0

我将用参数“n”生成一个函数。我想要一个函数将“n”返回为0或1。如果为0,则认为用户输入小于或等于0。如果为1,则认为用户输入大于0

这就是我到目前为止所做的,我不知道如何纠正我的错误

def main():
    n = int(input("Enter a value: "))
    integer(n) 
def integer(n):
    if n <= 0:
        return n*0
    elif n > 0:
        return n*0 + 1
def integer(n=0):
    print("That value is less than or equal to 0")
def integer(n=1):
    print("That value is greater than 0")
main()
def main():
n=int(输入(“输入值:”)
整数(n)
def整数(n):
如果n 0:
返回n*0+1
def整数(n=0):
打印(“该值小于或等于0”)
def整数(n=1):
打印(“该值大于0”)
main()

您的问题是您已经覆盖了整数的定义。下面的脚本工作正常。另外,
n*0
是不必要的,因为它的计算结果总是为0

def main():
    n = int(input("Enter a value: "))
    fb=integer(n)
    if fb == 0:
        print("That value is less than or equal to 0")
    else:
        print("That value is greater than 0")
def integer(n):
    if n <= 0:
        return 0
    elif n > 0:
        return 1

main()
def main():
n=int(输入(“输入值:”)
fb=整数(n)
如果fb==0:
打印(“该值小于或等于0”)
其他:
打印(“该值大于0”)
def整数(n):
如果n 0:
返回1
main()

您的问题是您已经覆盖了整数的定义。下面的脚本工作正常。另外,
n*0
是不必要的,因为它的计算结果总是为0

def main():
    n = int(input("Enter a value: "))
    fb=integer(n)
    if fb == 0:
        print("That value is less than or equal to 0")
    else:
        print("That value is greater than 0")
def integer(n):
    if n <= 0:
        return 0
    elif n > 0:
        return 1

main()
def main():
n=int(输入(“输入值:”)
fb=整数(n)
如果fb==0:
打印(“该值小于或等于0”)
其他:
打印(“该值大于0”)
def整数(n):
如果n 0:
返回1
main()

试试下面的代码,它要短得多:

def main():
    d = {0:'That value is less than or equal to 0',1:"That value is greater than 0"}
    n = int(input("Enter a value: "))
    fb=integer(n)
    print(d[fb])
def integer(n):
    return 0 if n <= 0 else 1

main()
def main():
d={0:'该值小于或等于0',1:'该值大于0'}
n=int(输入(“输入值:”)
fb=整数(n)
打印(d[fb])
def整数(n):

如果n尝试下面的代码,则返回0,它要短得多:

def main():
    d = {0:'That value is less than or equal to 0',1:"That value is greater than 0"}
    n = int(input("Enter a value: "))
    fb=integer(n)
    print(d[fb])
def integer(n):
    return 0 if n <= 0 else 1

main()
def main():
d={0:'该值小于或等于0',1:'该值大于0'}
n=int(输入(“输入值:”)
fb=整数(n)
打印(d[fb])
def整数(n):

返回0如果n为什么不返回一个布尔值而不是1或0?这是否总是输出“该值大于0”?为什么不返回一个布尔值而不是1或0?这是否总是输出“该值大于0”?如果您真的想。。。但是它失去了清晰性。如果你真的想要的话,整个事情可以用
lambda
定义的函数浓缩成一行。。。但它失去了清晰性。