2011-03-22 51 views
0
team = ['sean', 'david', 'JK', 'KB', 'nina'] 

for i in team: 
    print(i), print(len(i)) 

上面顯示如下結果:Python 3.2空閒:如何在同一行顯示兩個不同的值?

sean 
4 
david 
5 
JK 
2 
KB 
2 
nina 
4 

,但我的指導書表明這一點:

sean 4 
david 5 
JK 2 
KB 2 
nina 4 

我如何獲得 「XXX,Y」 格式?我究竟做錯了什麼?

+0

爲什麼的OP代碼的格式不斷變化?如果OP希望打印和在同一行上打印,我們爲什麼要反對? – 2011-03-22 21:39:27

回答

8

嘗試

for i in team: 
    print(i, len(i)) 
4

你想:

team = ['sean', 'david', 'JK', 'KB', 'nina'] 
for i in team: 
    print("%s, %d" % (i, len(i))) 

順便說一句,有一個在球隊沒有i

+1

+1「_no_'i' _in team_」評論,哈哈! – tbridge 2011-03-23 01:21:32

0

嘗試

for i in team: 
    print "%s %s" % (i, len(i)) 

或:

for i in team: 
    print i + " " + str(len(i)) 
+0

Python ** 3 ** - 'print'是一個函數。它仍然可以正常工作,不需要手動滾動輪子。 – delnan 2011-03-22 21:16:36

+0

oops,錯過了3部分 – miishuu 2011-03-22 21:19:26

0

此外,我認爲你原來的代碼必須是:中

for i in team: 
    print(i); print(len(i)) 

代替:

for i in team: 
    print(i), print(len(i)) 

,如果你想這樣做你的代碼,試試這個:

for i in team: 
    print(i,end=','); print(len(i)) 
3

只是這樣做......好和簡單,「格式化字符串」不需要。

team = ['sean', 'david', 'JK', 'KB', 'nina'] 

for i in team: 
    print(i, len(i)) 

如果你想逗號

之間,然後

team = ['sean', 'david', 'JK', 'KB', 'nina'] 

for i in team: 
    print(i, len(i), sep=', ') 
我知道這是遲到了,但它是很好的其他人看到這個在未來的谷歌搜索...

0

我相信您的指令書中提到的類似:

for i in team: 
    print i, len(i) 

這紅粉預期的輸出在Python 2,但不再有效,在Python 3

在Python 3「直接」替換爲:

for i in team: 
    print(i, len(i), sep=' ') 

但您通常使用別的像上面提出的%s %d解決方案。

-2
for i,j in zip(team,score): 
    print i,j 

輸出:

0 sean 
1 david 
2 JK 
3 KB 
4 nina 
+1

'score'從哪裏來?另外,這個語法在python 3中不起作用 – Mel 2016-03-15 16:57:18

相關問題