Voici la spécification d'entrée
Le programme doit lire t lignes d’entrées. Chaque ligne est composée de 2 valeurs séparées par des espaces. La première est le nom et la seconde l'âge. Un exemple de saisie
Mike 18
Kevin 35
Angel 56
Comment lire ce genre d'entrée en python? Si j'utilise raw_input (), le nom et l'âge sont lus dans la même variable.
Mise à jour .__ Je vais préciser la question. Nous savons déjà comment lire une entrée formatée en python. Existe-t-il un moyen de lire une entrée formatée en Python ou non? Si oui alors comment?
the_string = raw_input()
name, age = the_string.split()
Si vous l'avez dans une chaîne, vous pouvez utiliser .split()
pour les séparer.
>>> for string in ('Mike 18', 'Kevin 35', 'Angel 56'):
... l = string.split()
... print repr(l[0]), repr(int(l[1]))
...
'Mike' 18
'Kevin' 35
'Angel' 56
>>>
En supposant que vous soyez sur Python 3, vous pouvez utiliser cette syntaxe
inputs = list(map(str,input().split()))
si vous voulez accéder à un élément individuel, vous pouvez le faire comme ça
m, n = map(str,input().split())
Vous pouvez effectuer les opérations suivantes si vous connaissez déjà le nombre de champs de l'entrée:
client_name = raw_input("Enter you first and last name: ")
first_name, last_name = client_name.split()
et si vous souhaitez parcourir les champs séparés par des espaces, vous pouvez effectuer les opérations suivantes:
some_input = raw_input() # This input is the value separated by spaces
for field in some_input.split():
print field # this print can be replaced with any operation you'd like
# to perform on the fields.
Une utilisation plus générique de la fonction "split ()" serait:
result_list = some_string.split(DELIMITER)
où DELIMETER est remplacé par le délimiteur que vous souhaitez utiliser comme séparateur, entouré de guillemets simples.
Un exemple serait:
result_string = some_string.split('!')
Le code ci-dessus prend une chaîne et sépare les champs en utilisant le '!' caractère en tant que délimiteur.
Pour Python 3, utilisez ceci
inp = list(map(int,input().split()))
//input => Java is a programming language
//return as => ("Java","is","a","programming","language")
input () accepte une chaîne de STDIN.
split()
divise la chaîne autour des caractères d'espacement et renvoie une liste de chaînes.
map()
passe chaque élément du deuxième argument au premier argument et retourne un objet de la carte
Finalement, list()
convertit la carte en liste