Demande de conseil sur Credit Card Mask de Codewars ?
Résolu
nicobesnard
-
nicobesnard Messages postés 2 Statut Membre -
nicobesnard Messages postés 2 Statut Membre -
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
- Faux sms crédit agricole - Guide
2 réponses
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:]