sábado, 5 de dezembro de 2020

Como inserir vários valores do usuário em uma linha em Python?

Por exemplo, em C podemos fazer algo assim:

// lê dois valores em uma linha
scanf("%d %d", &x, &y)

Uma solução é usar input() duas vezes.

x, y = input(), input()

Outra solução é usar split().

x, y = input().split()

Observe que não temos que especificar explicitamente split('') porque split() usa qualquer caractere de espaço em branco como delimitador como padrão.

Uma coisa a se notar no código Python acima é que tanto x quanto y seriam do tipo string. Podemos convertê-los para inteiros usando outra linha.

x, y = [int(x), int(y)]

# Também podemos usar a compreensão de lista
x, y = [int(x) for x in [x, y]]

Abaixo está o código completo de uma linha para ler duas variáveis inteiras da entrada padrão usando divisão e compreensão de lista.

# Lê dois números a partir da entrada e os converte para int usando
# compreensão da lista
x, y = [int(x) for x in input().split()]
# Lê dois números a partir da entrada e os converte para int usando
# a função map
x, y = map(int, input().split())

Artigo escrito por Abhishek Shukla e melhorado por dev_aditya e traduzido por Acervo Lima de How to input multiple values from user in one line in Python?

0 comentários:

Postar um comentário