List with input in python

0

Good morning, people. I need help resolving some of the college exercise. The problem is relatively simple, but I'm having difficulties.
My code is as follows:

# Subprogramas
def verifica_peso(pesos):
    if pesos > 10:
        print("A soma dos pesos é maior do que 10.")

# Programa Principal
a, b, c, d, e = map(float, input().split())  # Definindo o peso das notas.
pesos = (a + b + c + d + e)

verifica_peso(pesos)
qnt_candidatos = int(input())

And what I need to do now is to allow the user to enter, through the input (), with the name, age and 5 notes of the candidates, all in the same input. Example of entry:

Ana 30 8.3 4.5 9.2 4.0 6.6
João 25 2.0 3.4 8.9 7.2 4.4
Pedro 30 7.8 5.0 9.2 6.0 4.6
Maria 28 5.0 6.0 7.0 5.0 4.0
Thiago 40 6.5 4.5 7.0 4.5 4.5
Raquel 26 10.0 10.0 10.0 10.0 10.0

Then I will need to use the information in the notes to make the average and age as a tiebreaker. I thought about using dict (), but I do not know exactly how it would apply. Can you help me?
Thank you for your attention!

    
asked by anonymous 06.04.2018 / 16:27

3 answers

0

Using the function that jorge posted you can scroll through the dictionary by getting the key values and calculate the weighted average.

medias = []
candidatos = 2
pesos= [1.0,1.0,3.0,2.5,2.5]
for i in range(candidatos)
    for j in x:
        n = (float(x['n1']) * pesos[0] + float(x['n2']) * pesos[1] + float(x['n3']) * pesos[2] + float(x['n4']) * pesos[3] + float(x['n5'])
             * pesos[4]) / 10
    medias.append(n)
print(medias)
    
07.04.2018 / 20:04
-1

This can help you to receive all the variables in 1 input:

x, y = input('').split(',')
print(x)
print(y)
    
06.04.2018 / 22:01
-1
# o metodo obter_dados() faz o input e retorna um Dict
# com os valores organizados caso a pessoa informe no input a seguinte
# sequencia:
#     >>> Nome Idade Nota1 Nota2 Nota3 Nota4 Nota5
#
# Exemplo:
# sé a pessoa passar Ana 30 8.3 4.5 9.2 4.0 6.6
# retorna {
#     "nome": "Ana",
#     "idade": 30,
#     "nota1": 8.3,
#     "nota2": 4.5,
#     "nota3": 9.2,
#     "nota4": 4.0,
#     "nota5": 6.6
# }
#
# Para usar o valor do metodo basta fazer
# dados = obter_dados()
# dados["nome"]  => retorna "Ana"
# dados["idade"] => retorna 30
# dados["nota1"] => retorna 8.3
# dados["nota2"] => retorna 4.5
# dados["nota3"] => retorna 9.2
# dados["nota4"] => retorna 4.0
# dados["nota5"] => retorna 6.6
#
# para calcular as notas do aluno basta fazer.
# notas = (dados["nota1"] + dados["nota2"] + dados["nota3"] + dados["nota4"])
#
# não consegui entender como deve ser o calculo da idade, mas para
# calcular a idade com as notas basta usar float(dados["idade"]) + notas
#
def obter_dados():
    data = input(">>> ").split(" ")

    return {
        "nome": data[0],
        "idade": int(data[1]),
        "nota1": float(data[2]),
        "nota2": float(data[3]),
        "nota3": float(data[4]),
        "nota4": float(data[5])
    }
    
07.04.2018 / 00:34