How to assign 3 values to 3 variables in only one entry line in python?

0
# Esse é um programa que você irá digitar 3 pontuações e ele irá te informar o vice campeão (ou segundo lugar)  


# Existe algum método de atribuir o valor de a, b e c em apenas uma linha na entrada?  
# Eu escrevo na entrada por exemplo: 10 11 9
# E o programa atribuirá 10 a variável a, 11 a b, e 9 a c 
# Como faço isso?

# No caso, queria substituir os próximos 3 comentários

#a= int (input ("Digite a pontuação: "))
#b= int (input ("Digite a pontuação: "))
#c= int (input ("Digite a pontuação: "))

print()

if (a < b) and (a > c):
    print ("O vice campeão é: " , a)

elif (a > b) and (a < c):
  print ("O vice campeão é: " , a)

if (b < a) and (b > c):
    print ("O vice campeão é: " , b)

elif (b > a) and (b < c):
    print ("O vice campeão é: " , b)   

if (c < b) and (c > a):
    print ("O vice campeão é: " , c)

elif (c > b) and (c < a):
    print ("O vice campeão é: " , c)
    
asked by anonymous 15.04.2018 / 20:24

2 answers

2

A first step would be to get the scores and call the split method to get a list where each element is one of the scores:

pontuacoes = input("Digite as pontuações: ").split()

Then we have to transform those scores that are currently strings into integers. We can do this with a list understanding:

pontuacoes_int = [int(p) for p in pontuacoes]

Now, pontuacoes_int is a list with the scores as integer values. If we want to assign these values to separate variables, we can do

a, b, c = pontuacoes_int

Another way to do this without list comprehension might look like this:

pontuacoes = input("Digite as pontuações: ").split()
a, b, c = int(pontuacoes[0]), int(pontuacoes[1]), int(pontuacoes[2])

This method also works, but it is interesting to learn how to use list comprehensions (or map ) because then your code works regardless of the number of elements that need to be transformed into integers.

    
15.04.2018 / 20:26
0

In Python the assignment of values to variables is very cool.

See an example:

age, name, city = 21, 'Paulo', 'São Paulo'

In the example above, in a single line we assign 3 values to 3 variables. Just separate values and variables using a comma.

Other simple examples:

name, age, city = input ('Enter your Name:'), int ('Enter your Age:')     

15.04.2018 / 23:09