Ir ao conteúdo
  • Cadastre-se
Cachorro_louco

Python RESOLVIDO Qual comando eu uso para criar variaveis

Recommended Posts

Boa noite, o titulo pode ter ficando meio nada ver, mas eu queria saber como eu crio variaveis a partir de outra variavel olha ai pra ver se da pra entender

#eu queria limitar os proximos "inputs", com base nesse primeiro aqui
uni = int(input('quantas unidades '))
#dai eu queria criar varias variaveis a partir dessa, por exemplo se o usuario digitasse 4 dai criava:
uni1...
uni2...
uni3...
uni4...
#se ele digitar 6 no uni
uni1...
uni2...
uni3...
uni4...
uni5...
uni6...
#não sei se ficou claro o suficiente 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Gramosa    no python as variáveis são imutáveis , mas existe um comando que faz isso que é o join , mas é bem complicado , então seria mais fácil usar um vetor , assim se você quer criar variáveis do tipo inteiro , crie um vetor com a quantidade de posições de acordo com a quantidade de variáveis que você quer , e aí você usa elas se referenciando pelo índice do vetor .

uni = 4
4 variáveis :
vetor = []
for y in range(uni)
    vetor.append(0)
  
depois pode usar as variaveis assim :

vetor[0]=155
vetor[1]=201
vetor[2]=555
vetor[3]=111

 

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Gramosa     um vetor é uma variável que é dividida em várias partes , sendo que cada parte é uma posição e cada posição pode guardar um valor , no caso de ser um vetor de inteiros  ou uma string se for um vetor de string ,  então ele seria como um gaveteiro  assim , esse com dez posições que começa em zero e por isso vai até nove  :

vetor_dez.thumb.jpg.bd4dfefeb2a14b056574f5ebdf5934d0.jpg

e em cada gaveta pode se colocar um valor , e na hora de usar esse vetor você se referencia pela posição do vetor .

e para criar um vetor no python precisa usar um código igual a esse aqui :

vetor = []
for y in range(10)
    vetor.append(0)

em seguida pode se atribuir qualquer valor a uma posição do vetor , que é especificada colocando a posição dentro dos colchetes , assim  :

vetor[0]=212

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
lista = []

Cria uma lista vazia, ou seja, sem nenhum item.

 

E

lista = [0 for i in range(10)]

Cria uma lista de 10 posições com valor 0 em todas as posições.

 

Cada posição pode ser acessada através de seu índice, que são numerados indo de 0 até N-1, onde N é a quantidade de posições na lista. Ou seja, no exemplo acima a lista tem 10 posições, que podem ser acessadas por seus respectivos índices, indo de 0 a 9.

 

Para acessar uma posição da lista usamos seu índice entre colchetes [ ] após o nome da lista:

lista[0]
lista[1]
lista[2]
.
.
.
etc

 

 

E para aumentar/adicionar novas posições à lista podemos usar o método .append(), para anexar um novo valor a uma nova posição no fim da lista. Por exemplo:

lista = [0 for i in range(10)]
lista.append(0)

Que resulta que a lista, originalmente com 10 posições, passará a ter 11 posições (com índices indo de 0 a 10), todas com valor 0.

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

na pratica como faria isso, eu fiz um programa para calcular a media de um aluno em 4 unidades da uma olhada:

#plurais sao listas
#as listas vazias são para fazer uma especie de vetor

minimo = int(input('media da escola '))
continuar = True
notas = []
materias = []
somas = []

while continuar:
#toda vez que rodar o loop, a variavel materia sera adicionada a lista materias'''
    materia = str(input('qual a materia? ')).capitalize()
    materias.append(materia)

    nota1 = float(input('nota da 1° unidade '))
    nota2 = float(input('nota da 2° unidade '))
    nota3 = float(input('nota da 3° unidade '))
    nota4 = float(input('nota da 3° unidade '))
#toda vez que rodar o loop soma sera adicionado a lista somas'''
#toda vez que rodar o loop a media de soma sera adicionada a lista notas'''
    soma = nota1 + nota2 + nota3 + nota4
    somas.append(soma)
    notas.append(soma / 4)
#se o usuario negar continuar se tornara falso, ser o fim do loop'''

    if input('tem mais materia? (S/N)').upper() == 'N':
        continuar = False
        print('Boletim'.center(40, '='))
#materias foi usado para o alcansse somente, podesria ser usado qualquer lista'''

        for x in range(len(materias)):
            print('em {} a nota foi {}, logo a media foi {}'.format(materias[x], somas[x], notas[x]))

ai nesse caso eu queria saber se usei direito o vetor, e como eu faria para limitar a quantidade de notas a aparecer e nesse caso fosse possivel o usuario especificar uma quantidade de notas a ser somada e tirada a media, por exemplo se fossem apenas 3 notas, ou fossem 10, 20... como eu usaria o vetor para limitar os input nas notas, se ele disser que são 3 notas, que sejam 3 input, nota1, nota2 e nota3, se o usuario disser 20 notas, que sejam 20 input, nota1, nota2, nota3, nota4 ... nota20. como eu faria nesse caso? 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Gramosa   esse vetor precisa ser construido antes de usar e para isso use assim  :

#plurais sao listas
#as listas vazias são para fazer uma especie de vetor

minimo = int(input('media da escola '))
continuar = True
notas = []
materias = []
somas = []
for y in range(10)
    notas.append(0)
for y in range(10)
    somas.append(0)  
for y in range(10)
    materias.append(0)  
cont = 0;  
while continuar:
    #toda vez que rodar o loop, a variavel materia sera adicionada a lista materias'''
    materia = str(input('qual a materia? ')).capitalize()
    materias[cont] = materia

    nota1 = float(input('nota da 1° unidade '))
    nota2 = float(input('nota da 2° unidade '))
    nota3 = float(input('nota da 3° unidade '))
    nota4 = float(input('nota da 3° unidade '))
    #toda vez que rodar o loop soma sera adicionado a lista somas'''
    #toda vez que rodar o loop a media de soma sera adicionada a lista notas'''
    soma = nota1 + nota2 + nota3 + nota4
    somas[cont] = soma
    notas[cont] = soma / 4   # é a média das notas
    #se o usuario negar continuar se tornara falso, ser o fim do loop'''
    cont = cont + 1
    if input('tem mais materia? (S/N)').upper() == 'N':
        continuar = False
        print('Boletim'.center(40, '='))
        #materias foi usado para o alcansse somente, podesria ser usado qualquer lista'''

        for x in range(len(materias)):
            print('em {} a nota foi {}, logo a media foi {}'.format(materias[x], somas[x], notas[x]))  

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi direito, seria algo assim o que você quer?

# coding=utf-8
#plurais sao listas
#as listas vazias sao para fazer uma especie de vetor

minimo = int(input('media da escola '))
continuar = True
notas = []
materias = []
somas = []

while continuar:
    #toda vez que rodar o loop, a variavel materia sera adicionada a lista materias'''
    materia = str(input('qual a materia? ')).capitalize()
    materias.append(materia)
    
    n = int(input('quantas unidades na materia? '))
    
    soma = 0
    for i in range(n):
        nota = float(input('nota da {}ª unidade '.format(i+1)))
        soma = soma + nota
    #toda vez que rodar o loop soma sera adicionado a lista somas'''
    #toda vez que rodar o loop a media de soma sera adicionada a lista notas'''
    somas.append(soma)
    notas.append(soma / n)
    #se o usuario negar continuar se tornara falso, ser o fim do loop'''

    if input('tem mais materia? (S/N) ').upper() == 'N':
        continuar = False
        print('Boletim'.center(40, '='))
    #materias foi usado para o alcansse somente, podesria ser usado qualquer lista'''

        for x in range(len(materias)):
            print('em {} a nota foi {}, logo a media foi {}'.format(materias[x], somas[x], notas[x]))
input()

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×