如何大写字符串的最后五个字母并在用户输入时制作一个字符串

时间:2018-08-17 10:06:42

标签: python uppercase

在我的python程序中,用户将输入一个字符串。

如果用户输入的字符串少于五个字母,那么它将告诉用户

  

字符串太短!

如果输入的字符串多于5个字母,则它将使大写字母成为字符串的最后五个字母。

例如:

input: "heroiszero"
output: SZERO

expected output: heroiSZERO

我的程序

myString= input("Enter the string you want:- ")
print("The String you Entered is :- ", myString)
if len(myString) <= 5:
    print("String is too short!")
else:
    print(myString[-5:].upper())

我应该进行哪些更改以获得我想要的确切输出?

5 个答案:

答案 0 :(得分:4)

最后一行应该是:

print(myString[:-5] + myString[-5:].upper())

因此,您按原样使用字符串,直到最后五个字符,然后使用串联的+,最后五个字符转换为upper()

答案 1 :(得分:2)

尝试:

myString= input("Enter the string you want:- ")
print("The String you Entered is :- ", myString)
if len(myString) <= 5:
    print("String is too short!")
else:
    print(myString[:-5]+myString[-5:].upper())

myString[-5:]选择最后五个项目,忽略其他五个项目,然后upper()将其转换为大写。 如果要显示它,也需要打印字符串的第一部分。

myString[:-5]选择字符串中的所有字符,但不选择最后5个字符。

myString[:-5] + myString[-5:]myString相同。

答案 2 :(得分:2)

您只获取最后5个索引并使其居高并打印。

您必须包含其他字符,即从索引0到最后一个索引的第5个字符。

可以通过这样的切片来完成。

myString= input("Enter the string you want:- ")

print("The String you Entered is :- ", myString)

if len(myString) <= 5:
    print("String is too short!")
else:
    print(myString[:-5] + myString[-5:].upper())

工作

myString[:-5]给出从索引0到最后5个索引的子字符串

myString[-5:].upper()的最后5个字符为大写字母

myString[:-5] + myString[-5:].upper()都将两者同时包含,并根据需要提供结果

答案 3 :(得分:2)

通过执行print(myString[-5:].upper()),您仅打印出该字符串的最后5个字符。 要获得所需的输出,必须将其与字符串的其余初始部分连接起来,像这样

print(myString[:-5] + myString[-5:].upper())

但是,这真的是您真正需要的吗??我想,如果字符串长度超过5个字符,则可能希望保留第一个字符不变,并像这样将所有其余的字符大写

print(myString[:5] + myString[5:].upper())

答案 4 :(得分:1)

您可以从字符串中删除最后5个字符,将其保存在变量upper中,然后将其放回字符串的末尾。

myString= input("Enter the string you want:- ")
print("The String you Entered is :- ", myString)
if len(myString) <= 5:
    print("String is too short!")
else:
    temp = myString[-5:]  #getting last 5 chars of string
    myString = myString[:-5]  #removing last 5 chars from the string
    temp = temp.upper()  #making the saved 5 chars capital
    myString = myString+temp  #adding the capital 5 chars back to string
print(myString)

如果您希望使用相同的概念更简单:

else:
    temp = myString[-5:].upper()
    myString = myString[:-5] + temp

测试代码:

Enter the string you want:- heroiszero
The String you Entered is :-  heroiszero
heroiSZERO