2013-07-30 55 views
1

我在python中編寫了這段代碼來大寫和打印任何字符串的前4個字符。但我得到的輸出:如何獲得一行中的輸出作爲字符串?

A 
P 
P 
L 

我需要的輸出是:

APPL 

,我應該做出什麼樣的變化在這裏呢?

def capital(uinput): 
    slice4 = uinput[:4] 
    for i in slice4: 
     j = ord(i) 
     j = j - 32 
     k = chr(j) 
     print k 

print capital("apple") 

回答

5

如何使用upper()

>>> s = "apple" 
>>> s[:4] 
'appl' 
>>> s[:4].upper() 
'APPL' 

談到你寫的代碼,你可以修改它這種方式,使其工作:

def capital(uinput): 
    slice4 = uinput[:4] 
    result = "" 
    for i in slice4: 
     j = ord(i) 
     j = j - 32 
     k = chr(j) 
     result += k 
    print result 

,或者相同的,但在同一行,而無需額外的變量:

def capital(uinput): 
    print "".join([chr(ord(i) - 32) for i in uinput[:4]]) 
+0

瞭解!感謝您的幫助alecxe! –

+0

@UtsavChatterjee考慮接受答案,如果它有幫助。謝謝。 – alecxe

相關問題