J'ai regardé quelques réponses pour une fonction et le retour et je ne suis pas sûr de l'obtenir. Je reçois le retour termine une fonction. Le mien ne renvoie qu'une ligne lorsqu'il y en a plusieurs dans le fichier TXT.
if command == "see":
readChamps = readList(champs)
print(readChamps)
4 Réponses :
Vous avez Si vous souhaitez simplement imprimer les lignes, vous pouvez procéder comme suit: < / p> et dans votre si vous souhaitez renvoyer des valeurs de retour code> à l'intérieur de votre boucle, ce qui provoque la sortie de la fonction dans la première itération de la boucle. principal code>: p> Readlist Code>, vous devez le faire après avoir terminé votre boucle: p>
Rrint au lieu de retour fonctionne définitivement comme je le veux. Cependant, je veux toujours régler la façon de retourner à la place. Merci.
@Genoxidus j'ai mis à jour ma solution. Cela a-t-il un sens pour vous?
Ces changements ont perfectionné mon résultat souhaité. Si Command == "Voir": Readchamps = ReadlistFromTextFile (Champs) #Print (Readchamps) pour I in Readchamps: Imprimer (i)
Essayez ceci: -
def readlist(champs):
champs = [str(i+93) + "-" + champs[i] for i in range(len(champs))]
return champs
Merci. Cela rend mon champ de terre non défini.
Comme vous vous écrivez, Vous pouvez utiliser une compréhension de la liste et alternativement, créez un Liste, retour code> termine la fonction d'où la boucle exécute exactement une fois. énumérer code> : p> .append code> et le renvoyer à la fin: p>
Si vous souhaitez "retourner" une valeur sans terminer la fonction, vous pouvez utiliser produire code> au lieu de retour code>. Cela rend le résultat un itérateur de valeurs au lieu d'une valeur unique. def read_list(champs):
for i, champ in enumerate(champs, 93)):
yield f'{i} - {champ}'
Comprenez-vous comment créer i> une liste? Comprenez-vous comment mettre des valeurs dans une liste? Vous devez avoir une liste avec les valeurs correctes pour revenir, avant de pouvoir le retourner.
J'ai ma liste créée dans: `` `nomame =" Champs.txt "Def Writeotextfile (Champs): Avec Open (Nom de fichier," A ") Comme Fichier: Pour Champ à Champs: Fichier.Write (Champ +" \ N " ) `` `Il détient actuellement la liste qui se trouve dans le résultat souhaité sur le poste d'origine.