1
votes

Élimine le texte d'entrée sauf l'alphabet en python

Créez une fonction caseSophia avec un argument txt (type chaîne), cette fonction va:

  • Remplacez les minuscules par les majuscules
  • Remplacez les majuscules par les minuscules
  • pour tout autre caractère sauf alphabétique sera effacé de cette fonction caseSophia .
  • Le type de cette sortie est string .

Voici mon code:

THxgTHlmN

Exécuter / appeler la fonction:

print(caseShopia('thXGth876%^$LMn.'))

Résultat attendu:

def caseShopia(txt):
    pass


1 commentaires

Il semble que vous cherchiez quelqu'un pour faire les devoirs à votre place. Quoi qu'il en soit, si vous voulez trouver une solution, jetez un œil sur string.lower () et string.upper ()


3 Réponses :


2
votes

Essayez ceci:

def caseShopia(txt):
    s = ''
    for c in txt:
        if c.isalpha():
            s += c.swapcase()
    return s

Explication:

  1. Il utilise une compréhension python
''.join(...)
  1. Vous ne filtrez que les caractères alpha
c.swapcase()
  1. Vous convertissez en minuscules si le caractère est en majuscules et vice versa
if c.isalpha()
  1. Une fois que vous avez traité cette chaîne, vous la réunissez en une nouvelle chaîne.
c.swapcase() for c in txt if c.isalpha()

J'espère que cela vous aidera. Puisque vous êtes nouveau dans Python, vous pourriez avoir du mal à comprendre la compréhension, donc ce code utilise une boucle for:

def caseShopia(txt):
    return ''.join(c.swapcase() for c in txt if c.isalpha())
    


2 commentaires

c.swapcase () serait parfait pour cela


@ScootCork, merci beaucoup pour cet indice. Je n'étais pas au courant de cette méthode.



1
votes

Vous pouvez utiliser les méthodes islower () et isupper () pour vérifier si le caractère est respectivement minuscule ou majuscule, puis convertir le caractère minuscule en caractère majuscule et vice-versa en utilisant les majuscules () et les minuscules (). Exemple de code: -

def caseShopia(txt):
    output = []
    for letter in txt:
        if letter.islower():
            output.append(letter.upper())
        elif letter.isupper():
            output.append(letter.lower())
    return ''.join(output)

Ici, nous créons une liste, puis nous rejoignons la liste pour former une chaîne et renvoyer la chaîne.


0 commentaires

0
votes

Vous pouvez parcourir votre chaîne et vérifier si le caractère est un alphabet ou non en utilisant la fonction char.isalpha (). Ensuite, dans le if intérieur, vérifiez si le caractère est en majuscule puis convertissez-le en minuscule et vice versa, en utilisant les fonctions char.lower () et char.upper ().

def caseShopia(x):
    s = ''
    for i in range(len(x)):
        if x[i].isalpha():
            if (x[i].isupper()) == True:
                s += x[i].lower()
            else:
                s += x[i].upper()
    return s

print(caseShopia('thXGth876%^$LMn.'))


0 commentaires