2017-11-04 78 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/