2017-04-19 206 views
-1

我試圖在同一行上打印字母表中的所有大寫字母,但我不斷收到語法錯誤。Python - 在同一行上按順序打印字母表

for c in range(0, 26): 
    print(chr(ord('A', end '')+c)) 
+0

ord函數只接受一個參數。你可以指定ord('A'),這會給你一個字符串「A」的Unicode點。這就是爲什麼你得到一個語法錯誤。 –

+4

問一個好問題的提示:不要說*繼續收到語法錯誤*,請顯示確切的錯誤消息。 –

+0

[如何在Python中打印同一行]可能的重複(http://stackoverflow.com/questions/33905032/how-to-print-on-the-same-line-in-python) – DeeJay

回答

1

有一個叫字符串爲您導入

爲了打印所有的大寫字母,你可以做到這一點inbuild功能:

import string 
print string.ascii_uppercase 

如果你想要把一個空間在字母之間你可以做到這一點:

import string 
line = "" 
for i in list(string.ascii_uppercase): 
    line = line + i + " " 
print line 

希望它有幫助!

+0

我是肯定它有幫助,但這不能回答他的問題......爲什麼語法錯誤? – TerryA

+0

@TerryA我不確定......但我確定它不會打印出所有的大寫字母,即使沒有SyntaxError – rcw

+0

@rcw我認爲你的最後一行是'print line' –

4

ord() takes a single character,並將其轉換爲它的Unicode代碼點。它只需要一個參數。看起來您打算將, end ''撥入print()電話。這裏的更新代碼:

for c in range(0, 26): 
    print(chr(ord('A')+c), end='') 
+0

我相信結束''是爲打印功能 – TerryA

+0

@TerryA當然,我會更新我的回答 – EthanBar

+0

這部分工作,但。但是,結束'是在那裏試圖將文字放在同一行。你給我的代碼打印在不同的行上,我試圖得到一個ABCDEF的輸出....... – BB956

0

似乎大多數的答案都有個別的部分正確,但不是整個解決方案。

我會建議:

result = "" 
for c in range(0, 26): 
    result += chr(ord('A')+c) 

print(result) 

的問題是雙重的。語法問題是由, end ''作爲ord的參數引起的(它只需要一個參數)。多行打印是由Python的內置打印功能始終附加新行引起的。要解決這個問題,只需將結果存儲在一個字符串中,並在完成構建時輸出最終的字符串。你也可以考慮使用一個數組,例如ArrayVariableName.append(chr(ord('A')+c)),然後print(''.join(ArrayVariableName))。 (我沒有測試過,但它應該可以工作。)