0

在我的 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())

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

4

5 回答 5

4

最后一行应该是:

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

因此,您将字符串按最多五个字符并使用+,即连接,最后五个字符转换为upper().

于 2018-08-17T10:09:33.763 回答
2

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

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

然而,这真的是你需要的吗?我想也许如果字符串长于 5 个字符,则可能希望将第一个字符保持不变并将所有剩余的字符大写,如下所示

print(myString[:5] + myString[5:].upper())
于 2018-08-17T10:16:52.683 回答
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

于 2018-08-17T10:09:31.340 回答
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 到倒数第五个索引的子字符串

myString[-5:].upper()取最后 5 个字符并将其设为大写

myString[:-5] + myString[-5:].upper()连接两者并根据需要给出结果

于 2018-08-17T10:11:09.527 回答
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
于 2018-08-17T10:12:43.970 回答