2013-07-30 25 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

相关问题