Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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 

 

Editado por Simon Viegas
  • 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

@devair1010 valeu ai cara, eu ainda não manjo muito bem de programação, poderia de explicar como funciona o vetor? 

  • Curtir 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.

Editado por isrnick
  • 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]))  

 

Editado por devair1010
  • 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






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

×