Conversion of response into lists

1

I have a small problem in my algorithm, I have to receive an "institution name" any user entered and convert it into a list for future use in other conditions, but this is by converting all the letters of the name to the string and putting it on a list thus making it impossible to use it as a new list declared by the "user" to use in other conditions.

instituicão = []

    print("Digite o nome da instituição que deseja adicionar.\n 0 - Para 
    parar de adicionar\n")
    while True:
        instituicão_add = input("digite alguma instituicao")
        #Supor que o usuário botou "ADD"
        conversão_lista = list(instituicão_add)

        #funcionaria se tivesse em str mas o print vai sair como dito
        #ja  para o input direto nao sei qual condição bota para parar
        if instituicão_add == "0": #<<< ???  
            break
        else:
           instut.append(conv_list)
           print(instituicão)           
           #Ai no caso meu print sai se tiver str(input("")) assim [['a', 'd', 'd']]
           #O certo para min seria sair assim [["alguma coisa"]] 

for indice,na_lista in enumerate(instituicão):
    print(indice, "-", na_lista)

inst = int(input("\nQual instituição deseja escolher?"))

x = inst #recebendo o indice que seria pra entra na lista que desejasse

if inst == x:
         dinheiro = int(input("\nQuanto deseja doar?\n")
         instituicão[x].append(dinheiro)
         print("Obrigado por ajudar esta instituição")
         print(instituicão[x])

Here in the last "print" I wanted to leave "[value of money donated"], by the user within the institution added by him and transformed into a list that should return [["xxxxx"]], however I am not getting make this algorithm work so if you can help me.

    
asked by anonymous 21.05.2016 / 08:47

1 answer

2

Okay, I think I get it. You want to save all institutions typed by the user in a list:

Why not make a list of dictionaries where each one stores the name of the institution and its donation? If I understood the problem well, in this context I think it would be the best:

Python 3.x:

instituicoes = []
while True:
    instituicao_add = input("digite alguma instituicao") #ex: 'stack overflow pt'
    if(instituicao_add == 'exit'):
        break
    instituicoes.append({'nome': instituicao_add})

x = int(input("\nQual instituição deseja escolher?")) # ex: 0

while x >= len(instituicoes) or x < 0: # Verificar se index existe na nossa lista de instituicoes
    x = int(input("\nQual instituição deseja escolher?")) # ex: 0

dinheiro = int(input("\nQuanto deseja doar?\n"))

instituicoes[x]['doação'] = dinheiro # ex: 1000
print("Obrigado por ajudar esta instituição")
print(instituicoes[x]) # output: {'nome':'stack overflow pt', 'doação': 1000}

#para imprimir só o valor doado
print(instituicoes[x]['doação'])
    
21.05.2016 / 10:39