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")
4

1 回答 1

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]])
于 2013-07-30T07:48:17.337 回答