Cette fois, j'utilise souvent l'entrée standard pour des problèmes de programmation, donc je vais laisser une note. La langue utilisée est Ruby.
Entrée standard
Tokyo
line = gets
p line
Résultat de sortie
"Tokyo"
Entrée standard
Tokyo Osaka Kyoto
line = gets.split(' ')
p line
Résultat de sortie
["Tokyo", "Osaka", "Kyoto"]
En utilisant la méthode de fractionnement, les trois éléments sont stockés séparément dans le tableau.
Entrée standard
Tokyo
Osaka
Kyoto
line = readlines
len = line.length
i = 0
while i < len
line[i] = line[i].chomp
i += 1
end
p line
Résultat de sortie
["Tokyo", "Osaka", "Kyoto"]
Une manière concise d'écrire ce qui précède est d'utiliser la méthode map.
Entrée standard
Tokyo
Osaka
Kyoto
line = readlines.map(&:chomp)
p line
Résultat de sortie
["Tokyo", "Osaka", "Kyoto"]
Entrée standard
Tokyo Osaka Kyoto
Japan USA China
line = readlines
len = line.length
i = 0
while i < len
line[i] = line[i].chomp.split(' ')
i += 1
end
p line
Résultat de sortie
[["Tokyo", "Osaka", "Kyoto"], ["Japan", "USA", "China"]]
Il y a aussi ce qui suit comme manière concise d'écrire ce qui précède
Entrée standard
Tokyo Osaka Kyoto
Japan USA China
lines = []
while line = gets
lines << line.chomp.split(' ')
end
p lines
Résultat de sortie
[["Tokyo", "Osaka", "Kyoto"], ["Japan", "USA", "China"]]
En définissant while line = gets, il sera répété jusqu'à ce que toutes les valeurs d'entrée standard soient acquises.
Entrée standard
Tokyo Osaka Kyoto
Japan USA China
lines = readlines(chomp: true).map{|line| line.split(' ')}
p lines
Résultat de sortie
[["Tokyo", "Osaka", "Kyoto"], ["Japan", "USA", "China"]]
En regardant le résultat de sortie, la valeur reçue est une chaîne de caractères, donc si vous souhaitez recevoir une valeur numérique, procédez comme suit
Entrée standard
123
line = gets.to_i
p line
Résultat de sortie
123
Entrée standard
1 2 3
line = gets.split(' ')
p line
Résultat de sortie
["1", "2", "3"]
S'il est laissé tel quel, il sera traité comme une chaîne de caractères, utilisez donc map pour le convertir en un tableau de type numérique.
Entrée standard
1 2 3
line = gets.split(' ').map(&:to_i)
p line
Résultat de sortie
[1, 2, 3]
Entrée standard
1
2
3
line = readlines.map(&:to_i)
p line
Résultat de sortie
[1, 2, 3]
Entrée standard
1 2 3
4 5 6
lines = []
while line = gets
lines << line.chomp.split(' ').map(&:to_i)
end
p lines
Résultat de sortie
[[1, 2, 3], [4, 5, 6]]
Voici comment écrire de manière plus concise
Entrée standard
1 2 3
4 5 6
lines = readlines(chomp: true).map{|line| line.split(' ').map(&:to_i)}
p lines
Résultat de sortie
[[1, 2, 3], [4, 5, 6]]
Je pense qu'il existe diverses autres méthodes, je vais donc les mettre à jour de temps en temps.
Recommended Posts