Python:定义了新函数,但不打印结果

Python:定义了新函数,但不打印结果,python,function,printing,Python,Function,Printing,Python初学者,尝试: 从键盘插入两个数字 创建两个函数的求和函数 打印那个求和函数 我的代码如下所示: number1 = raw_input("Insert number1 = ") print number1 number2 = raw_input("Insert number2 = ") print number2 def sumfunction (number1, number2): print "Were summing number1 and number2 %d

Python初学者,尝试:

  • 从键盘插入两个数字
  • 创建两个函数的求和函数
  • 打印那个求和函数
我的代码如下所示:

number1 = raw_input("Insert number1 = ")
print number1

number2 = raw_input("Insert number2 = ")
print number2

def sumfunction (number1, number2):
   print "Were summing number1 and number2 %d + %d" % (number1, number2)
   return number1 + number2
   print()
我想要打印sumfunction之类的东西,或者打印函数结果的东西。 目前我的代码只返回number1和number2

编辑:按语法编辑

  • return
    语句之后的任何内容都不会执行

  • 您定义了函数。现在你需要做的就是叫它

    sumfunction(number1, number2)
    
  • 您的函数仍然无法按预期工作。由于
    raw\u input
    返回字符串,因此函数将返回串联的数字(对于数字
    1
    2
    ,它将返回字符串
    '12'
    ,而不是数字
    3
    )。您应该将每个数字转换为
    int
    (或
    float
    ):

  • return
    语句之后的任何内容都不会执行

  • 您定义了函数。现在你需要做的就是叫它

    sumfunction(number1, number2)
    
  • 您的函数仍然无法按预期工作。由于
    raw\u input
    返回字符串,因此函数将返回串联的数字(对于数字
    1
    2
    ,它将返回字符串
    '12'
    ,而不是数字
    3
    )。您应该将每个数字转换为
    int
    (或
    float
    ):


  • 让我们一步一步地复习一下

    我们可以先将您的功能更改为:

    def add(number1, number2):
        print "We're summing number1 and number2 %d + %d = %d" % (number1, number2, number1 + number2)
    
    注意,在这个版本中,您实际上是在添加数字,并且不会过早退出。在调用这个函数之前,数字必须从字符串转换成整数,我们马上就可以完成。在您的版本中,您只返回一个结果,但无法打印

    此外,您需要调用函数,以便它能够完成其工作,即,
    add(number1,number2)

    如果我们稍微重构一下脚本,您可以得到以下结果:

    def add(number1, number2):
        "Only adds the two arguments together and returns the result"
        return number1 + number2
    
    # convert inputs from strings to integers
    number1 = int(raw_input("Insert number1 = "))
    print number1
    
    # convert inputs from strings to integers
    number2 = int(raw_input("Insert number2 = "))
    print number2
    
    result = add(number1, number2)
    print "The result of %d + %d = %d" % (number1, number2, add(number1, number2))
    
    x = 5
    y = 10
    print add(x, y)
    
    请注意,现在输入也是如何从字符串转换为实际整数的,以便将它们相加,而不是串联。也就是说,
    “2”+“2”=“22”
    ,而
    2+2=4

    使用以下检查来包装代码也是一种良好的做法:

    if __name__ == '__main__':
        # your main code here
    
    因此,可以将上述内容重构为:

    def add(number1, number2):
        "Only adds the two arguments together and returns the result"
        return number1 + number2
    
    if __name__ == '__main__':
        number1 = int(raw_input("Insert number1 = "))
        print number1
    
        number2 = int(raw_input("Insert number2 = "))
        print number2
    
        result = add(number1, number2)
        print "The result of %d + %d = %d" % (number1, number2, add(number1, number2))
    
    这允许仅当直接调用脚本时,才执行代码的主要部分,而不是当它作为模块从另一个Python脚本中导入时。建议进行此检查,因为在Python中,每个文件都被视为一个模块,也就是说,从导入添加
    中说
    是合法的,在这种情况下,您不希望实际测试
    add
    实现的代码被执行

    还要注意,我们已经从
    add
    函数中删除了
    print
    语句。这是为了确保函数只执行一项操作,即添加参数。这使函数更通用,并且更容易在其他部分重复使用代码,包括调用方在计算时不想立即打印任何内容的部分

    这就是我们所知道的。从长远来看,遵循这一原则将使您在软件设计/实现方面做得更好

    我想要打印sumfunction之类的东西,或者打印函数结果的东西

    现在,您只需执行以下操作:

    def add(number1, number2):
        "Only adds the two arguments together and returns the result"
        return number1 + number2
    
    # convert inputs from strings to integers
    number1 = int(raw_input("Insert number1 = "))
    print number1
    
    # convert inputs from strings to integers
    number2 = int(raw_input("Insert number2 = "))
    print number2
    
    result = add(number1, number2)
    print "The result of %d + %d = %d" % (number1, number2, add(number1, number2))
    
    x = 5
    y = 10
    print add(x, y)
    

    让我们一步一步地复习一下

    我们可以先将您的功能更改为:

    def add(number1, number2):
        print "We're summing number1 and number2 %d + %d = %d" % (number1, number2, number1 + number2)
    
    注意,在这个版本中,您实际上是在添加数字,并且不会过早退出。在调用这个函数之前,数字必须从字符串转换成整数,我们马上就可以完成。在您的版本中,您只返回一个结果,但无法打印

    此外,您需要调用函数,以便它能够完成其工作,即,
    add(number1,number2)

    如果我们稍微重构一下脚本,您可以得到以下结果:

    def add(number1, number2):
        "Only adds the two arguments together and returns the result"
        return number1 + number2
    
    # convert inputs from strings to integers
    number1 = int(raw_input("Insert number1 = "))
    print number1
    
    # convert inputs from strings to integers
    number2 = int(raw_input("Insert number2 = "))
    print number2
    
    result = add(number1, number2)
    print "The result of %d + %d = %d" % (number1, number2, add(number1, number2))
    
    x = 5
    y = 10
    print add(x, y)
    
    请注意,现在输入也是如何从字符串转换为实际整数的,以便将它们相加,而不是串联。也就是说,
    “2”+“2”=“22”
    ,而
    2+2=4

    使用以下检查来包装代码也是一种良好的做法:

    if __name__ == '__main__':
        # your main code here
    
    因此,可以将上述内容重构为:

    def add(number1, number2):
        "Only adds the two arguments together and returns the result"
        return number1 + number2
    
    if __name__ == '__main__':
        number1 = int(raw_input("Insert number1 = "))
        print number1
    
        number2 = int(raw_input("Insert number2 = "))
        print number2
    
        result = add(number1, number2)
        print "The result of %d + %d = %d" % (number1, number2, add(number1, number2))
    
    这允许仅当直接调用脚本时,才执行代码的主要部分,而不是当它作为模块从另一个Python脚本中导入时。建议进行此检查,因为在Python中,每个文件都被视为一个模块,也就是说,从导入添加
    中说
    是合法的,在这种情况下,您不希望实际测试
    add
    实现的代码被执行

    还要注意,我们已经从
    add
    函数中删除了
    print
    语句。这是为了确保函数只执行一项操作,即添加参数。这使函数更通用,并且更容易在其他部分重复使用代码,包括调用方在计算时不想立即打印任何内容的部分

    这就是我们所知道的。从长远来看,遵循这一原则将使您在软件设计/实现方面做得更好

    我想要打印sumfunction之类的东西,或者打印函数结果的东西

    现在,您只需执行以下操作:

    def add(number1, number2):
        "Only adds the two arguments together and returns the result"
        return number1 + number2
    
    # convert inputs from strings to integers
    number1 = int(raw_input("Insert number1 = "))
    print number1
    
    # convert inputs from strings to integers
    number2 = int(raw_input("Insert number2 = "))
    print number2
    
    result = add(number1, number2)
    print "The result of %d + %d = %d" % (number1, number2, add(number1, number2))
    
    x = 5
    y = 10
    print add(x, y)
    

    将代码更改为使用
    main
    功能。它将帮助您更好地理解代码流:

    def sumfunction(n1, n2):
       print "Were summing %d + %d" % (n1,   n2)
       return n1 + n2
    
    def input_int(prompt):
        while True:
            try:
                return int(raw_input(prompt))
            except ValueError:
                print "Invalid input! Please try again."
    
    def main():
        number1 = input_int("Insert number1 = ")
        print number1
    
        number2 = input_int("Insert number2 = ")
        print number2
    
        result = sumfunction(number1, number2)
        print "Result: %d" % result
    
    if __name__ == '__main__':
        main()
    
    这是编写Python脚本的标准方法。看,当脚本运行时,它实际上会执行整个过程中的所有内容。所以我们把
    \uuuuu name\uuuuuuu
    检查放在最后,说“好的,实际上现在脚本已经加载了