Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Codigo Limpo - Usando Funcoes e Modulos em Python - Luan C. Redmann

163 Aufrufe

Veröffentlicht am

Código limpo: usando funções e módulos em Python por Luan C. Redmann

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Codigo Limpo - Usando Funcoes e Modulos em Python - Luan C. Redmann

  1. 1. Código limpo: Usando módulos e funções em Python LuanC. Redmann luandacostaredmann@gmail.com
  2. 2. R$ 76,80 (www.amazon.com.br)
  3. 3. O que é código limpo?
  4. 4. “Gosto do meu código elegante e eficiente. A lógica deve ser direta para dificultar o encobrimento de bugs, as dependências mínimas para facilitar a manutenção, o tratamento de erro completo de acordo com uma estratégia clara e o desempenho próximo do mais eficiente de modo a não incitar as pessoas a tornarem o código confuso com otimizações sorrateiras. O código limpo faz bem apenas uma coisa.” (STROUSTRUP, Bjarne)
  5. 5. 1 print(“Olá, mundo!")
  6. 6. oCodigoRuim = open("Ryuuzaki.py", "r")
  7. 7. 1 print("E aí, migs! Eu sou o Ryuuzaki. Estou aqui para ajudá-lo em sua vida escolar.") 2 nome = input("Para começar, me diga o seu nome: ") 3 print("%s, será um prazer ser útil a você! Baseado na sua média escolar, aritmeticamente te direi se você passou de ano ou não. Vamos lá?" % nome) 4 m_escolar = float(input("Eu preciso saber qual é a média que a sua escola exige para você ser aprovado (separar com ponto as casas decimais): ")) 5 print("Okay, %s. Para evitar confusão, estou anotando tudo que você digita. Resumirei tudo no final." % nome) 6 mat = input("Para prosseguir, digite o nome da matéria: ") 7 print("Certo. Funciona assim: você me informa as notas dos quatro bimestres, e eu digo sua média e sua situação.") 8 N1 = float(input("Naquele mesmo esquema de separar as casas decimais por vírgula, me diga. Qual foi sua nota em %s no primeiro bimestre? " % mat)) 9 N2 = float(input("E no segundo? ")) 10 N3 = float(input("Qual foi sua nota no terceiro bimestre? ")) 11 N4 = float(input("No quarto? ")) 12 m_aluno = (N1 + N2 + N3 + N4) / 4 13 print("Você obteve média %.1f" % m_aluno) 14 if m_aluno >= m_escolar:
  8. 8. 15 print("Parabéns, %s! Você foi aprovado em %s <3" % (nome, mat)) 16 s = "aprovado" 17 else: 18 s = "reprovado" 19 input("Aperte enter para continuar. ") 20 print("Como prometido, aqui estão todas as informações que você digitou: ") 21 print("") 22 print(" —> Discente: %s " % nome) 23 print(" —> Nota do primeiro bimestre: %.1f" % N1) 24 print(" —> Nota do segundo bimestre: %.1f" % N2) 25 print(" —> Nota do terceiro bimestre: %.1f" % N3) 26 print(" —> Nota do quarto bimestre: %.1f" % N4) 27 print(" —> Média exigida: %.1f" % m_escolar) 28 print(" —> Média obtida pelo discente: %.1f" % m_aluno) 29 print(" —> Situação: %s" % s) 30 print("nRyuuzaki fica feliz em ser útil. Me acorde a hora que quiser!") 31 print("Criado e desenvolvido por Luan da Costa Redmann, em 2015.")
  9. 9. oCodigoRuimMelhorado = open("Ryuuzaki.py", "r")
  10. 10. 1 # Se apresenta 2 print("E aí, migs! Eu sou o Ryuuzaki. Estou aqui para ajudá-lo em sua vida escolar.") 3 # Pega as informações básicas 4 nome = input("Para começar, me diga o seu nome: ") 5 print("%s, será um prazer ser útil a você! Baseado na sua média escolar, aritmeticamente te direi se você passou de ano ou não. Vamos lá?" % nome) 6 m_escolar = float(input("Eu preciso saber qual é a média que a sua escola exige para você ser aprovado (separar com ponto as casas decimais): ")) 7 print("Okay, %s. Para evitar confusão, estou anotando tudo que você digita. Resumirei tudo no final." % nome) 8 mat = input("Para prosseguir, digite o nome da matéria: ") 9 print("Certo. Funciona assim: você me informa as notas dos quatro bimestres, e eu digo sua média e sua situação.") 10 # Pega as notas 11 N1 = float(input("Naquele mesmo esquema de separar as casas decimais por ponto, me diga. Qual foi sua nota em %s no primeiro bimestre? " % mat)) 12 N2 = float(input("E no segundo? ")) 13 N3 = float(input("Qual foi sua nota no terceiro bimestre? ")) 14 N4 = float(input("No quarto? "))
  11. 11. 15 # Começa a calcular 16 m_aluno = (N1 + N2 + N3 + N4) / 4 17 print("Você obteve média %.1f" % m_aluno) 18 if m_aluno >= m_escolar: 19 print("Parabéns, %s! Você foi aprovado em %s <3" % (nome, mat)) 20 s = "aprovado" 21 else: 22 s = "reprovado" 23 input("Aperte enter para continuar. ") 24 # Resume as informações e mostra ao usuário 25 print("Como prometido, aqui estão todas as informações que você digitou: ") 26 print("") 27 print(" —> Discente: %s " % nome) 28 print(" —> Nota do primeiro bimestre: %.1f" % N1) 29 print(" —> Nota do segundo bimestre: %.1f" % N2) 30 print(" —> Nota do terceiro bimestre: %.1f" % N3) 31 print(" —> Nota do quarto bimestre: %.1f" % N4) 32 print(" —> Média exigida: %.1f" % m_escolar)
  12. 12. 33 print(" —> Média obtida pelo discente: %.1f" % m_aluno) 34 print(" —> Situação: %s" % s) 35 # Se despede e encerra a execução 36 print("nRyuuzaki fica feliz em ser útil. Me acorde a hora que quiser!") 37 print("Criado e desenvolvido por Luan da Costa Redmann, em 2015.")
  13. 13. oCodigoBom = open("Ryuuzaki.py", "r")
  14. 14. 1 def apresentar(): 2 print("E aí, migs! Eu sou o Ryuuzaki. Estou aqui para ajudá-lo em sua vida escolar.") 3 4 def pegarNome(): 5 nome = input("Para começar, me diga o seu nome: ") 6 print("%s, será um prazer ser útil a você! Baseado na sua média escolar, aritmeticamente te direi se você passou de ano ou não. Vamos lá?" % nome) 7 return nome 8 9 def pegarMediaEscolar(nome): 10 media = float(input("Eu preciso saber qual é a média que a sua escola exige para você ser aprovado (separar com ponto as casas decimais): ")) 11 print("Okay, %s. Para evitar confusão, estou anotando tudo que você digita. Resumirei tudo no final." % nome) 12 return media 13 14 def pegarMateria(): 15 materia = input("Para prosseguir, digite o nome da matéria: ")
  15. 15. 16 print("Certo. Funciona assim: você me informa as notas dos quatro bimestres, e eu digo sua média e sua situação.") 17 return materia 18 19 def pegarNotas(materia): 20 notas = [] 21 notas.append(float(input("Naquele mesmo esquema de separar as casas decimais por ponto, me diga. Qual foi sua nota em %s no primeiro bimestre? " % materia))) 22 notas.append(float(input("E no segundo? "))) 23 notas.append(float(input("Qual foi sua nota no terceiro bimestre? "))) 24 notas.append(float(input("No quarto? "))) 25 return notas 26 27 def exibirMedia(notas): 28 media_aluno = sum(notas) / 4 29 print("Você obteve média %.1f" % media_aluno) 30 return media_aluno 31
  16. 16. 32 def testarSituacao(media_escolar, media_aluno, nome, materia): 33 if media_aluno >= media_escolar: 34 print("Parabéns, %s! Você foi aprovado em %s <3" % (nome, materia)) 35 situacao = "aprovado" 36 else: 37 situacao = "reprovado" 38 input("Aperte enter para continuar. ") 39 return situacao 40 41 def resumirInformacoes(info): 42 print("Como prometido, aqui estão todas as informações que você digitou: ") 43 print("") 44 print(" —> Discente: %s " % info[0]) 45 print(" —> Matéria: %s " % info[2]) 46 print(" —> Nota do primeiro bimestre: %.1f" % info[3][0]) 47 print(" —> Nota do segundo bimestre: %.1f" % info[3][1]) 48 print(" —> Nota do terceiro bimestre: %.1f" % info[3][2]) 49 print(" —> Nota do terceiro bimestre: %.1f" % info[3][3])
  17. 17. 50 print(" —> Média exigida: %.1f" % info[1]) 51 print(" —> Média obtida pelo discente: %.1f" % info[4]) 52 print(" —> Situação: %s" % info[5]) 53 54 def despedir(): 55 print("nRyuuzaki fica feliz em ser útil. Me acorde a hora que quiser!") 56 print("Criado e desenvolvido por Luan da Costa Redmann, em 2015.") 57 58 # Método principal 59 apresentar() 60 nome = pegarNome() 61 media_escolar = pegarMediaEscolar(nome) 62 materia = pegarMateria() 63 notas = pegarNotas(materia) 64 media_aluno = exibirMedia(notas) 65 situacao = testarSituacao(media_escolar, media_aluno, nome, materia) ? informacoes = [nome, media_escolar, materia, notas, media_aluno, situacao] 67 resumirInformacoes(informacoes)
  18. 18. 68 despedir()
  19. 19. Fazendo o milagre
  20. 20. Obrigado pela atenção!
  21. 21. /redmannCodes

×