Créez une fonction caseSophia avec un argument txt (type chaîne), cette fonction va:
caseSophia . string . Voici mon code:
THxgTHlmN
Exécuter / appeler la fonction:
print(caseShopia('thXGth876%^$LMn.'))
Résultat attendu:
def caseShopia(txt):
pass
3 Réponses :
Essayez ceci:
def caseShopia(txt):
s = ''
for c in txt:
if c.isalpha():
s += c.swapcase()
return s
Explication:
''.join(...)
c.swapcase()
if c.isalpha()
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())
c.swapcase () serait parfait pour cela
@ScootCork, merci beaucoup pour cet indice. Je n'étais pas au courant de cette méthode.
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.
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.'))
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 ()