J'ai du mal à comprendre comment convertir une liste en entiers et itérant une fonction sur chacun de ces éléments. Je souhaite que la fonction vérifie chaque élément et que chaque élément dans la liste soit converti en entiers.
3 Réponses :
Conversion de la liste des chaînes à la liste des INT peut simplement être faite avec la compréhension de la liste:
Un autre visible Le problème dans votre code comprendrait la portée des variables et la transmission des arguments à fonctionner. p> Si vous iTERE des années, passez l'article de l'année à votre fonction et utilisez dans la portée de la fonction P> int_list = [INT (année) pour l'année de l'année] code> P>
def isLeap(year):
...
for int_year in int_list:
isLeap(int_year)
donné ce que vous essayez de faire, je pense que c'est une façon de le faire, combinant un pour code> en boucle pour des éléments que vous passez à la fonction (au format de liste), avec le
Si-elif-elif-elife code> Conditions que vous avez énoncées.
25 Is not a Gregorian Calendar Year.
1955 Is a Gregorian Calendar Year.
2000 Is a Gregorian Calendar Year.
1581 Is not a Gregorian Calendar Year.
1321 Is not a Gregorian Calendar Year.
1285 Is not a Gregorian Calendar Year.
4365 Is a Gregorian Calendar Year.
4 Is not a Gregorian Calendar Year.
1432 Is not a Gregorian Calendar Year.
3423 Is a Gregorian Calendar Year.
9570 Is a Gregorian Calendar Year.
Ne boucle pas sur les indices, boucle directement sur la liste elle-même ...
Merci, je me suis concentré sur autre chose et je me suis gâché.
Vous devriez faire votre conversion de la chaîne vers INT en dehors de votre Votre fonction doit accepter un paramètre d'année: P>
Et votre test devrait simplement être: Cependant, il existe également un problème logique ici: parce que vous utilisez iSleap code> Fonction: p>
pour année sur carte (int, années): code> p>
def isleap (année) code> p>
si année> = 1583 # etc. code> p> p>
si / elif code>, vous ne déterminerez jamais si quelque chose est une année bissextile, car l'une de vos deux premières déclarations sera toujours être correct. (C'est soit> = 1583, soit <1583; aucune autre condition ne sera vérifiée.) P>
Si Année depuis des années> = 1583: Code> Qu'attendez-vous que cela est censé faire? Semble être un mashup de
pour code> et
si code>
Vous l'avez déjà converti sur une liste de
int code> s, ici:
année = liste (carte (int, années)) code> à itérer cette liste juste faire
pour x En année: ... code>