quarta-feira, 10 de janeiro de 2018

Dia 5

Python - Visão Geral

Estruturas de Controle - While:
Como o for, aceita os comandos continue e break.
Exemplos:
m = 3 * 19; n = 5 * 13
count = 0
while m < n:
  m = n / 0.5
  n = m / 0.5
  count += 1
print ('Foram %d inerações' % count) #Foram 510 interações

Exemplo: Impressão Série Fibonacci:
a, b, n = 0, 1, 20 # o mesmo que: a = 0; b = 1; n = 20
fib=' '
while b < n:
  fib = fib + ' + ' + str(b)
  a, b = b, a+b # a = b; b = a + b
  print('A série de Fibonacci até %d, é:\n%s' % ( n, fib)) 
# A série de Fibonacci até 20, é: 1 1 2 3 5 8 13
--------------------------------------------------------------------
Exceções:
Python possui uma forma de controlar o fluxo de execução em caso de erro: a Exceção.
Exemplo:
a = [1, 2, 3]
print (a[5])

Traceback (most recent call last): 
File "<stdin>", line 1, in <module>
IndexError: list index out of range

A 1ª linha informa que ocorreu um traceback (rastreamento). 
A 2ª linha informa a linha do código e o arquivo onde o erro ocorreu (stdin – entrada padrão, modo interativo). 
A 3ª linha informa o tipo de exceção levantada - IndexError.
--------------------------------------------------------------------
Tratamento de Exceções:
Sintaxe:
try:
    # comandos que podem gerar a exceção
except tipo_exceção [, variável]:
    # comandos a serem executados para a exceção gerada

A linha except também pode conter uma tupla com diversas exceções:
except (tipo_exceção_1, tipo_exceção_2, ...) [, variável]:
    # comandos a serem executados para a exceção gerada

Exemplos:
a = [1, 2, 3]
try:
  print (a[5])
except IndexError:
  print ('Tentativa de acessar um índice inexistente.')

a = 'tolo'
try:
  print (a + 1)
except:
  print('Não pode somar uma string a um inteiro')
--------------------------------------------------------------------
Funções:
Sintaxe:
def nome_função(arg_1, arg_2, ..., arg_n):
    # código da função
    [return valor_de_retorno] # Opcional, igual a um Procedimento.

Exemplos:
Impressão da Série Fibonacci:
def fibonacci(n):
  a, b = 0, 1
  while b < n:
    print (b,)
    a, b = b, a+b
fibonacci(100) # 1 1 2 3 5 8 13 21 34 55 89

def imprime_prato(p):
    #'Procedimento para impressao do prato'
    print ('%20s ........ %6.2f' % (p['nome'], p['preco']))      
def imprime_cardapio(pratos):
    #'Procedimento para impressao do cardapio'
    print ('Cardapio do dia\n')
    for p in pratos:
        imprime_prato(p)
    print ('\nTotal de pratos: %d' % len(pratos))

p1 = {'nome' : 'Arroz com brocolis', 'preco' : 9.90}
p2 = {'nome' : 'Sopa de legumes', 'preco' : 8.70}
p3 = {'nome' : 'Lentilhas', 'preco' : 7.80}

lista_pratos = [p1, p2, p3]
imprime_cardapio (lista_pratos)

# Cardapio do dia

#   Arroz com brocolis ........   9.90
#      Sopa de legumes ........   8.70
#            Lentilhas ........   7.80

# Total de pratos: 3
--------------------------------------------------------------------

Nenhum comentário:

Postar um comentário