如何将输出作为字符串输入一行?

时间:2013-07-30 07:46:37

标签: python string loops ascii capitalize

我在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")

1 个答案:

答案 0 :(得分: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]])