Python 带函数的打印格式
Python printing format with functions
目前正在学习Python,已经写出了这个基本功能。然而,输出是多行的,并且在 "Here is some math:" 之后不显示答案。怎么了?
谢谢
def ink(a, b):
print "Here is some math:"
return a + b
add = ink(1, 59)
fad = ink(2, 9)
bad = ink(4, 2)
print add
print fad
print bad
输出:
Here is some math:
Here is some math:
Here is some math:
60
11
6
编辑:
为什么不打印
输出:
Here is some math:
60
Here is some math:
11
Here is some math:
6
函数 ink
在被调用时打印 Here is some math:
,当它的 return 值被分配到
时
add = ink(1, 59)
并将结果值打印在
print add
为了实现你想要的,你必须做
print ink(1, 59)
编辑:更好,如果它用于调试:
def ink(a, b):
result = a + b
print "Here is some math:"
print result
return result
无论如何,我相信你在这里写的只是一个例子。如果不是出于调试目的,则不应从计算某些内容的函数中打印任何内容。如果是为了调试,那么整个消息应该包含在一个函数体中,而不是那样拆分。
您必须return
您要打印的内容:
def ink(a, b):
return "Here is some math: {}".format(a + b)
add = ink(1, 59)
fad = ink(2, 9)
bad = ink(4, 2)
print add
print fad
print bad
输出:
Here is some math: 60
Here is some math: 11
Here is some math: 6
无论何时调用一个函数,它的主体都会立即执行。
因此,当您调用 add = ink(1, 59)
时,会执行包含 print
语句的 ink
函数体。
因此它打印出 "Here is some math:"
.
一旦函数体到达return
语句,函数的执行将结束,return
语句returns一个值到函数被调用的地方。
所以当你这样做时:
add = ink(1, 59)
result
由 ink(1, 59)
返回,然后存储到 add
,但 result
尚未打印。
然后对其他变量(fad
和 bad
)重复相同的操作,这就是为什么在看到任何数字之前打印了三次 "Here is some math:"
。
只有稍后您使用以下命令打印实际结果:
print add
print fad
print bad
您应该做的是让函数只计算结果:
def ink(a, b):
return a + b
通常您希望在函数之外(或在主函数中)进行打印和输入:
add = ink(1, 59)
fad = ink(2, 9)
bad = ink(4, 2)
print "Here's some math:", add
print "Here's some math:", fad
print "Here's some math:", bad
虽然重复的代码通常被认为是不好的,所以你可以在这里使用 for
循环(如果你不知道 for 循环是如何工作的,你应该更多地研究它们):
for result in (add, fad, bad):
print "Here's some math:", result
目前正在学习Python,已经写出了这个基本功能。然而,输出是多行的,并且在 "Here is some math:" 之后不显示答案。怎么了?
谢谢
def ink(a, b):
print "Here is some math:"
return a + b
add = ink(1, 59)
fad = ink(2, 9)
bad = ink(4, 2)
print add
print fad
print bad
输出:
Here is some math:
Here is some math:
Here is some math:
60
11
6
编辑: 为什么不打印
输出:
Here is some math:
60
Here is some math:
11
Here is some math:
6
函数 ink
在被调用时打印 Here is some math:
,当它的 return 值被分配到
add = ink(1, 59)
并将结果值打印在
print add
为了实现你想要的,你必须做
print ink(1, 59)
编辑:更好,如果它用于调试:
def ink(a, b):
result = a + b
print "Here is some math:"
print result
return result
无论如何,我相信你在这里写的只是一个例子。如果不是出于调试目的,则不应从计算某些内容的函数中打印任何内容。如果是为了调试,那么整个消息应该包含在一个函数体中,而不是那样拆分。
您必须return
您要打印的内容:
def ink(a, b):
return "Here is some math: {}".format(a + b)
add = ink(1, 59)
fad = ink(2, 9)
bad = ink(4, 2)
print add
print fad
print bad
输出:
Here is some math: 60
Here is some math: 11
Here is some math: 6
无论何时调用一个函数,它的主体都会立即执行。
因此,当您调用 add = ink(1, 59)
时,会执行包含 print
语句的 ink
函数体。
因此它打印出 "Here is some math:"
.
一旦函数体到达return
语句,函数的执行将结束,return
语句returns一个值到函数被调用的地方。
所以当你这样做时:
add = ink(1, 59)
result
由 ink(1, 59)
返回,然后存储到 add
,但 result
尚未打印。
然后对其他变量(fad
和 bad
)重复相同的操作,这就是为什么在看到任何数字之前打印了三次 "Here is some math:"
。
只有稍后您使用以下命令打印实际结果:
print add
print fad
print bad
您应该做的是让函数只计算结果:
def ink(a, b):
return a + b
通常您希望在函数之外(或在主函数中)进行打印和输入:
add = ink(1, 59)
fad = ink(2, 9)
bad = ink(4, 2)
print "Here's some math:", add
print "Here's some math:", fad
print "Here's some math:", bad
虽然重复的代码通常被认为是不好的,所以你可以在这里使用 for
循环(如果你不知道 for 循环是如何工作的,你应该更多地研究它们):
for result in (add, fad, bad):
print "Here's some math:", result