Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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_Python 2.7 - Fatal编程技术网

Python 打印语句正确吗?

Python 打印语句正确吗?,python,python-2.7,Python,Python 2.7,我必须添加str(iterMul(a,b))来获得我想要的。这是正确的方法吗 def iterMul(a,b): result = 0 while b > 0: result += a b -=1 return result a=int(raw_input('Enter an integer: ')) print('') b=int(raw_input('Enter an integer: ')) print('') print (s

我必须添加str(iterMul(a,b))来获得我想要的。这是正确的方法吗

def iterMul(a,b):
    result = 0
    while b > 0:
        result += a
        b -=1
    return result
a=int(raw_input('Enter an integer: '))
print('')
b=int(raw_input('Enter an integer: '))
print('')
print (str(a) + ' times '+str(b)+' is equal to '+ str(iterMul(a,b)))
提前谢谢

改用:

字符串格式在插入值时自动将整数转换为字符串,比打印值、“某些文本”、“其他值”、“更多文本”和“第三个值”更具可读性。请改用:



字符串格式在插入值时会自动将整数转换为字符串,并且比打印值、'some text',othervalue',more text and',thirdvalue更具可读性

打印('')的意义是什么?为什么不直接使用尾行字符(例如
\n
)?格式化是正确的方法。但是一个快速简单的版本是使用
而不是
+
来组合要打印的项目:
打印a,'times',b,'等于',iterMul(a,b)
@F3AR3DLEGEND:好问题,但后续内容有点混乱<代码>打印('\n')将打印两个空行。我认为您需要的只是
print()
(对于Python3)或
print
(对于Python2)。(顺便说一句,我见过人们使用
print(“”)
,因为在Python 2和Python 3中打印一个空行是最短的事情……但我认为OP没有这样做。)@abarnert33-我相信他只是想在要打印的字符串中添加换行符…@abarnert这就是我的意思。如果要打印两件事,中间有一行,可以执行以下操作:
print('line1\n\nline2')
。第一个
\n
将光标放在下一行,下一行也会这样做。因此,它将在一行上打印
'line1'
,中间有一个空行,然后打印
'line2'
打印(“”)
的意义是什么?为什么不直接使用尾行字符(例如
\n
)?格式化是正确的方法。但是一个快速简单的版本是使用
而不是
+
来组合要打印的项目:
打印a,'times',b,'等于',iterMul(a,b)
@F3AR3DLEGEND:好问题,但后续内容有点混乱<代码>打印('\n')将打印两个空行。我认为您需要的只是
print()
(对于Python3)或
print
(对于Python2)。(顺便说一句,我见过人们使用
print(“”)
,因为在Python 2和Python 3中打印一个空行是最短的事情……但我认为OP没有这样做。)@abarnert33-我相信他只是想在要打印的字符串中添加换行符…@abarnert这就是我的意思。如果要打印两件事,中间有一行,可以执行以下操作:
print('line1\n\nline2')
。第一个
\n
将光标放在下一行,下一行也会这样做。因此,它将在一行上打印
'line1'
,中间有一个空行,然后打印
'line2'
。正如有人在评论中指出的那样,这里不需要字符串格式:只需将更多参数传递给
print
@delnan:当然,但字符串格式通常是一个更好的主意。我不同意。它增加了不必要的嵌套和复杂性——多参数版本更平坦,至少对我来说可读性也一样。如果是这样,则此代码和注释都将引发一个
SyntaxError
。但是,这段代码的优点是,只要将它括在括号中,它就可以同时处理2和3,而在注释版本中,将它括在括号中会使2打印出一个丑陋的
元组,而不是预期的漂亮字符串。@abarnert:它最初只是用
python-2.7
标记的。在Python2上用括号括起表达式不是一个好主意
print(1,2)
将在2或3中打印完全不同的内容。正如有人在评论中指出的,这里不需要字符串格式:可以将更多参数传递给
print
@delnan:当然可以,但字符串格式通常是一个更好的主意。我不同意。它增加了不必要的嵌套和复杂性——多参数版本更平坦,至少对我来说可读性也一样。如果是这样,则此代码和注释都将引发一个
SyntaxError
。但是,这段代码的优点是,只要将它括在括号中,它就可以同时处理2和3,而在注释版本中,将它括在括号中会使2打印出一个丑陋的
元组,而不是预期的漂亮字符串。@abarnert:它最初只是用
python-2.7
标记的。在Python2上用括号括起表达式不是一个好主意<代码>打印(1,2)
将在2或3中打印完全不同的内容。
print '{0} times {1} is equal to {2}'.format(a, b, iterMul(a,b))