2017-11-04 74 views

回答

4

您必须转换intstr印刷前:

print("Start") 
for i in [3,4,5]: 
    print("Hola, ahora i vale" + str(i) + "y su exponent" + str(i ** 2)) 
print("End") 

或者你可以请使用format语法:

print("Start") 
for i in [3,4,5]: 
    print("Hola, ahora i vale {} y su exponent {}".format(i, i ** 2)) 
print("End") 
+0

如果你正在回答这个问题,你应该真的谈论如何在Python中做适当的字符串格式。 – jsbueno

+0

谢谢@ReblochonMasque – Rebc3sp

+0

很高兴我可以帮忙;我添加了一个使用'format'语法进行打印的例子。 –

0

Python是强类型的,不会自动强制。你需要做的幂的结果有明确的转换用字符串来连接它:

... + "y su exponent" + str(i ** 2)) 
+0

请谈谈字符串格式,以及如何在Python中完成,而不仅仅是“+”来连接字符串。 – jsbueno

+2

@jsbueno这也许是我曾经低估过的最愚蠢的原因。正确的字符串格式除了问题之外完全是。也许作为一个额外的,这将是适当的。 – Carcigenicate

+0

OP正在尝试学习Python。这个问题在S.O.中可能已经被提出并且被回答了一千次。单独。你决定:你不想教适当的Python,或者只是给出一个“快速,正确的答案来获取一些点”?顺便说一句,我喜欢网站指向我自己,这就是我根本不会通过每次找到第一个合适的副本来解决这样的问题的原因之一。另一个不关闭的原因是对新用户“不客气”,否则会被拒之门外。 – jsbueno

4

您需要i ** 2转换成就像你转换i的字符串。

print("Hola, ahora i vale"+str(i) + "y su exponent" + str(i ** 2)) 

或者你可以让print()处理它通过将它作为参数:

print("Hola, ahora i vale", i, "y su exponent", i ** 2) 

另一种选择是使用字符串格式化:

print("Hola, ahora i vale%dy su exponent%d" % (i, i ** 2)) 

使用Python 3.6,你也可以做:

print(f"Hola, ahora i vale{i}y su exponent{i ** 2}") 

有关更多选项,请参见https://pyformat.info/