Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
276 views
in Technique[技术] by (71.8m points)

python - RemoveLetters from sentence and convert from lowercase back to uppercase

I am working on pythonand I have a question on this piece of code I wrote. I am removing letters in a sentence and replacing them with blanks. Essentially I am removing letters from the sentence "Graham is HerE". I wrote a method to replace the altered sentence with the letters that have not been removed and maintains their uppercase and lowercase values. When I loop through "s" and check for uppercase values at specific index positions, it only captures the first capital letter "G" and the rest is lowercase. When test the array and printing out debug I am only getting "G" instead of "GHE".

def printuppercase(placeholder):
    holdindexC = []
    indexing = []

    for i in placeholder:
        if i.isupper():
            if i.lower() in s:
                holdindexC.append(placeholder.index(i))

    print(holdindexC)

    for i in placeholder:
        if placeholder.index(i) in holdindexC:
            indexing.append(i)
            #hold = s.replace(i,indexing.upper())

    print(indexing)

    #p = placeholder
    #hold = s.translate({ord(i) :i.upper() for i in string})
    string = ""

    p = placeholder

    #for i in s:
    #    print(i)

    for i in s:
        if s.index(i) in holdindexC:
            #print(s.index(i))
            print("Debug")
            string += i.upper()
        else:
            string += i

    print(string)

    #hold = s.translate({ord(i): print(i.upper()) for i in p if p.index(i) in holdindexC})

    print(string)

    #return hold

sentence = "Graham is HerE"
placeholder = sentence
  
#print(sentence + "
")

while True:
    print("
" + sentence + "
")
    removeLetter = input("Choose a letter or letters to remove: ")
    
    if removeLetter == "":
        print("
End")
        break
    
    s = sentence.lower().translate({ord(i): " " for i in removeLetter.lower()})
    
    #print(str(printuppercase(placeholder,s)))
    #print(s)
    printuppercase(placeholder)

question from:https://stackoverflow.com/questions/65917307/removeletters-from-sentence-and-convert-from-lowercase-back-to-uppercase

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...