mardi 11 mai 2021

How to replace a code not by capitalizing the other ones?

sentence = str ( input ( "Enter a sentence:" ) )
sentence = sentence.split ( )

new = ""
for word in sentence:
    wordi = ord ( word[ 0 ] )
    cap = word[ 0 ]
    a = chr ( (ord ( cap ) - 32) )
    word1 = word.replace ( word[ 0 ] ,a )

    if wordi <= 122 and wordi >= 97:
        new = new + word1 + " "
    else:
        new = new + word + " "

print ( new )

I have been writing about a code that would capitalize all the first letter in the sentence without using the capitalize or upper function. The code that I wrote did appear to be alright when the letter in the word is not the same as the letter that I want to capitalize.

The input:

Hello world

The output:

Hello World

However, if the letter in the word is also the same as the letter that I want to capitalize, the letter within the word will also become capitalized.

The input:

helloh worldw

The output:

HelloH WorldW

I tried to switch the "a" variable inside the replacement and add a to new as well in the variable new in the if-else statement.

sentence = str ( input ( "Enter a sentence:" ) )
sentence = sentence.split ( )

new = ""
for word in sentence:
    wordi = ord ( word[ 0 ] )
    cap = word[ 0 ]
    a = chr ( (ord ( cap ) - 32) )
    word1 = word.replace ( word[ 0 ] ,"" )

    if wordi <= 122 and wordi >= 97:
        new = new + a + word1 + " "
    else:
        new = new + word + " "

print ( new )

But, the code turned out to be that the letter that is being repeated in the word will be deleted when printed.

The input:

helloh 

The output:

Hello

How will I be able to make the code work?

Aucun commentaire:

Enregistrer un commentaire