Python:定义了新函数,但不打印结果
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
- 从键盘插入两个数字
- 创建两个函数的求和函数
- 打印那个求和函数
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
检查放在最后,说“好的,实际上现在脚本已经加载了