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 queria pedir que reviseis esse programa em python

Recommended Posts

a uns três dias eu revolvi aprender programação e me indicaram python por ser mais fácil, aprendi um pouco, bem pouco mesmo, e resolvi criar um programa simples se é que isso pode ser chamado de programa. basicamente ele soma as notas da escola/faculdade e divide pelo numero de unidades depois verifica se a nota do aluno é maior, igual ou menor que a nota necessária para ser aprovado (basicamente verifica a media do aluno e diz se ele passou de ano ou não)

#------------------------------------------------------------------------------#

# a é o numero de unidades
# b,c,d,e são as notas
# f é a quantidade necessaria para ser aprovado (media da escola)
# g é a soma das notas dividida pela quantidade de unidades (media do aluno)

#------------------------------------------------------------------------------#

print('não use virgula e sim o ponto nas notas com numeros decimais')
while True:
    a = int (input ('\nnumero de unidades '))
    b = float (input ('\nnota 1 ') )
    c = float (input ('\nnota 2 ') )
    d = float (input ('\nnota 3 ') )
    e = float (input ('\nnota 4 ') )
    f = int (input ('\nmedia da escola ') )
    g = (b + c + d + e) / a

    if g >= f:
        print('\nsua media foi ', round(g,1))
        print('Você foi aprovado')

    else:
        print('\nsua media foi ', round(g,1))
        print('Você foi reprovado')

esta exatamente assim no arquivo .py, queria pedir a vocês que me deem dicas de como melhorar isso, também queria pedir que não me expliquem com termos técnicos da informática por que sou bastante leigo nisso ai, a unica coisa que eu sei fazer no momento são as operações matemáticas (adição, subtração e etc), o que é int, float, string e o comando print um pouco do while, if, elif e else os outros comandos que "sei" não tenho propriedade e mais nada. ajuda ai pessoal me explica também o que é função, argumento, livraria... esses termos, pelo menos os bem básicos.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

A média é uma só para toda a escola, certo? Então poderia pedir para o usuário digitar apenas 1 vez, colocando antes do ciclo while.

 

O que seria o número de unidades, a quantidade de avaliações? Mas se há 4 notas então será sempre 4 unidades, certo?  Nesse caso não precisaria pedir para o usuário digitar esse número e sempre assumir o valor 4.

 

E a média é impressa em ambos os casos do if else, então poderia estar fora/antes do if else.

print('não use virgula e sim o ponto nas notas com numeros decimais')
f = int (input ('\nmedia da escola ') )
while True:
    b = float (input ('\nnota 1 ') )
    c = float (input ('\nnota 2 ') )
    d = float (input ('\nnota 3 ') )
    e = float (input ('\nnota 4 ') )
    g = (b + c + d + e) / 4
    
    print('\nsua media foi ', round(g,1))
    if g >= f:
        print('Você foi aprovado')
    else:
        print('Você foi reprovado')

Fora isso a  coisa que poderia adicionar seria alguma maneira de acabar o ciclo while e finalizar o programa, pois como está o loop é infinito e o programa nunca é encerrado normalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia colocar uma variável no while ao invés de True, e fazer o valor da variável mudar dependendo para False dentro do ciclo dependendo de alguma condição.

 

Por exemplo:

 

print('não use virgula e sim o ponto nas notas com numeros decimais')
f = int (input ('\nmedia da escola ') )
continuar = True
while continuar:
    b = float (input ('\nnota 1 ') )
    c = float (input ('\nnota 2 ') )
    d = float (input ('\nnota 3 ') )
    e = float (input ('\nnota 4 ') )
    g = (b + c + d + e) / 4
    
    print('\nsua media foi ', round(g,1))
    if g >= f:
        print('Você foi aprovado\n')
    else:
        print('Você foi reprovado\n')
    
    if (input('Deseja continuar (S/N)? ')).upper() == 'N':
        continuar = False

Usar .upper() em uma string transforma as letras da string em letras maiúsculas, assim não importa se o usuário digitar 'n' ou 'N' a condição vai ser satisfeita.

Compartilhar este post


Link para o post
Compartilhar em outros sites
#=============================================================================

#x é só pra finalizar o programa
#a é o numero maximo que ele ira sequenciar
#b é o multiplo da sequencia
#c é o numero inicial da sequencia
#não sei se os termos estão corretos, mas da pra entender que tentei fazer uma
#sequencia

#=============================================================================

x = True
print('Utilize Apenas Numeros Inteiros')

while x:
        a = int(input('ate que numero procurar? \n'))
        b = int(input('multiplos de qual numero? \n'))
        c = int(input('escolha o numero inicial da procura (0 é padrão)'))
        
        while c <= a:
                print(c, end=', ')
                c = c + b

        if (input('quer continuar? (S/N)')).upper() == 'N':
                x = False

@isrnickola, treinei com base em suas dicas tem mais alguma coisa que eu possa melhorar? fiz outro programa que mostra sequencias, exemplo de 0 a 100 em 2 e 2.

0, 2, 4, 6, 8 ... 96, 98 100

 

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

×