Demande de conseil sur Credit Card Mask de Codewars ?
Résolu
nicobesnard
-
nicobesnard Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
nicobesnard Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travaille sur Codewars sur un exercice (Credit Card Mask) qui consiste à écrire (language python) une fonction "maskify", qui change tous les caractères sauf les quatre derniers '#'.
Exemples:
maskify("4556364607935616") == "############5616"
maskify( "64607935616") == "#######5616"
maskify( "1") == "1"
maskify( "") == ""
Pourriez vous m'éclairer sur ce qui ne colle pas dans ma solution ci-dessous:
Merci par avance
je travaille sur Codewars sur un exercice (Credit Card Mask) qui consiste à écrire (language python) une fonction "maskify", qui change tous les caractères sauf les quatre derniers '#'.
Exemples:
maskify("4556364607935616") == "############5616"
maskify( "64607935616") == "#######5616"
maskify( "1") == "1"
maskify( "") == ""
Pourriez vous m'éclairer sur ce qui ne colle pas dans ma solution ci-dessous:
def maskify(cc):
solution = ""
for i in range (len (cc)):
if i < (len(cc) - 4):
solution += "#"
else:
solution += cc[i]
print (solution)
Merci par avance
Configuration: Windows / Chrome 79.0.3945.117
A voir également:
- Demande de conseil sur Credit Card Mask de Codewars ?
- Crédit immobilier - Guide
- Connaitre son numéro syma sans crédit - Forum Mobile
- Alcor micro usb card reader - Forum Logiciels
- Consulter credit lycamobile - Forum Mobile
- Tf card ✓ - Forum Mobile
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
peux-tu utiliser les balises de code quand tu partages du code?
ta question implique que ton code ne fais pas ce que tu souhaites. peux-tu être plus précis?
peux-tu utiliser les balises de code quand tu partages du code?
ta question implique que ton code ne fais pas ce que tu souhaites. peux-tu être plus précis?
Désolé, je pensais l'avoir fait mais je m'y suis mal pris. Je corrige ci-dessous:
En fait, je fais l'exercice en parallèle sur spyder et ça fonctionne mais codewars ne me le valide pas. Je me suis donc forcément trompé quelque part, mais j'ai besoin d'un œil plus expérimenté pour m'éclairer.
def maskify(cc): solution = "" for i in range (len (cc)): if i < (len(cc) - 4): solution += "#" else: solution += cc[i] print (solution)
En fait, je fais l'exercice en parallèle sur spyder et ça fonctionne mais codewars ne me le valide pas. Je me suis donc forcément trompé quelque part, mais j'ai besoin d'un œil plus expérimenté pour m'éclairer.
Bonsoir,
Ton code est correct, à mon avis c'est juste une histoire de return, ta fonction ne devrait pas faire un print mais un return, codewars doit analyser le retour de ta fonction.
Pour info, on peut faire cela directement en utilisant les slices.
Ton code est correct, à mon avis c'est juste une histoire de return, ta fonction ne devrait pas faire un print mais un return, codewars doit analyser le retour de ta fonction.
Pour info, on peut faire cela directement en utilisant les slices.
def maskify(cc): return '#' * len(cc[0:-4]) + cc[-4:]