-2
votes

Puis-je créer un message d'entrée changeant d'une liste dans A pour boucle

Je crée un code où il y a une liste avec les noms et le code demande l'âge de chaque personne. Est-il possible de créer une entrée en boucle avec le message qui change toujours correspondant au nom?

J'ai essayé la syntaxe d'impression, mais il ne semblait pas fonctionner: p>

ages = [0] * 3

names = ["Julia", "Benjamin", "George"]

for i in range (0, 3):
    ages[i] = int(input("How old is", names[i]))

print(ages)


1 commentaires

Utilisez la forme de la chaîne ou la concaténation.


6 Réponses :


0
votes

Utilisez simplement la formatage des chaînes:

input(f"How old is {names[i]}?")


0 commentaires

0
votes

changer simplement la ligne: xxx

par: xxx

La raison est avec le "+" Vous créez une nouvelle chaîne, Donc, il comptait seulement 1 argument.


0 commentaires

0
votes

Essayez ceci:

How old is Julia20
How old is Benjamin50
How old is George8
>>> ages
[20, 50, 8]


0 commentaires

0
votes

Essayez ceci:

ages[i] = int(input("How old is " + names[i]))


0 commentaires

0
votes

Vous avez donné deux arguments à saisir () en les séparant d'une virgule. Essayez xxx

ou xxx


0 commentaires

1
votes

entrée code> n'utilise pas la même syntaxe que Imprimer code>, afin que vous ne puissiez pas écrire: xxx pré>

mais vous devez Passez entrée une chaîne complète, comme: p> xxx pré>

notez que vous pouvez (et devrait) éviter d'utiliser des index lors de la boucle: p>

names = ["Julia", "Benjamin", "George"]
ages = []

for name in names:
    ages.append(int(input("How old is {}?".format(name)))

print(ages)


0 commentaires