【问题标题】:How to capitalize the last five letters of the string and make a string as user entered如何将字符串的最后五个字母大写并在用户输入时创建一个字符串
【发布时间】:2018-08-17 10:06:42
【问题描述】:

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

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

【问题讨论】:

    标签: python uppercase


    【解决方案1】:

    最后一行应该是:

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

    因此,您将字符串按原样保留至最后五个字符并使用+,即串联,最后五个字符转换为upper()

    【讨论】:

    • @meena 您正在做的是“获取字符串的最后 5 个字母,将它们设为大写,然后打印出来”。这句话说“取字符串的最后 5 个字母,将它们设为大写,然后将它们连接到原始字符串的副本,但没有最后 5 个字母,然后打印结果”。
    【解决方案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() 连接两者并根据需要给出结果

    【讨论】:

      【解决方案3】:

      试试这个:

      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 相同。

      【讨论】:

        【解决方案4】:

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

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

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

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

        【讨论】:

          【解决方案5】:

          您可以从字符串中删除最后 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
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-07-04
            • 2017-01-26
            • 2022-01-09
            • 1970-01-01
            • 2021-12-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多