MC-102 — Aula 5 Funções e listas I

Funções - primeira visita

Funções

Funções

Exemplo de função:

a = input()

Por que utilizar funções?

Definindo uma função

Definindo uma função

Uma função é definida da seguinte forma:

def nome(parâmetro1, ..., parâmetroN):
    comando
    ...
    return valor

Definindo uma função: Exemplo 1

A função abaixo recebe como parâmetro dois valores inteiros. A função faz a soma destes valores, e devolve o resultado.

def soma(a, b):
    c = a + b
    return c

Definindo uma função: Exemplo 1

def soma (a, b):
    c = a + b
    return c

Definindo uma função: Exemplo 2

Definindo uma função: Exemplo 2

Programa completo:

def leNumeroInt():
   c = input("Digite um número inteiro: ")
   return int(c)


r = leNumeroInt()
print("Número digitado: ", r)

Definindo uma função: Exemplo 2

Atenção: a definição da função tem que vir antes do seu uso!

r = leNumeroInt()
print("Número digitado: ", r)

def leNumeroInt():
   c = input("Digite um número inteiro: ")
   return int(c)

% python a.py 
Traceback (most recent call last):
  File "a.py", line 2, in <module>
    r = leNumeroInt()
NameError: name 'leNumeroInt' is not defined

Exemplo de função 3

def soma(a, b):
   c = a + b
   return c

x1 = 4 
x2 = -10
res = soma(5, 6)
print("Primeira soma: ",res)
res = soma(x1, x2)
print("Segunda soma: ",res)

Exemplo de função 4

Exemplo de função

def somaEsquisita(x, y) :
  x = x + 1
  y = y + 1
  return x + y


a=10
b=5
print ("Soma de a e b:", a + b)
print ("Soma de x e y:", somaEsquisita(a, b))
print ("a:", a)
print ("b:", b)

Os valores de a e b não são alterados por operações feitas em x e y

Definindo funções depois do seu uso

Exemplo:

def main():
  x1 = leNumero()
  x2 = leNumero()
  res = soma(x1, x2)
  print("Soma é: ", res)


def soma(a, b):
  c = a + b
  return c

def leNumero():
  c = int(input("Digite um número: "))
  return c

main()

Agora a execução do programa ocorre sem problemas.

Programando em modo batch e testando no modo interativo

Uma forma interessante de trabalhar com o python e escrever um arquivo com as suas funções (inclusive a main()) e testar as funções em modo interativo.

Quando voce acha um erro, voce edita o arquivo com as funções, volta a carrega-lo e testa de novo.

Listas - primeira visita

Declaração de uma lista

Declara-se uma lista, colocando entre colchetes uma sequência de dados separados por vírgula:

identificador \(= [ \text{dado}_1, \text{dado}_2, \ldots, \text{dado}_n]\)

Exemplo de listas

Exemplo de listas:

Listas – Como usar

Usando uma lista

        >>> notas= [4.5, 8.6, 9, 7.8, 7]
        >>> notas[1]+2
        10.6
        >>> notas[3]=0.4
        >>> notas
        [4.5, 8.6, 9, 0.4, 7]

Listas - índices

Listas - funções em listas

Listas - append

Listas - funções em listas

lista - igualdade

a = [1,2,4]
b = [1,2,3]
a==b
b.append(9)
a==b

x = [1,[2,3],4]
y = [1,[2,3],4]
z = [1,[2,3,7],4]
x==y
x==z

Exemplo: Produto Interno de dois vetores

    #calculando o produto interno
    def prodint(l1,l2):
       resultado = l1[0]*l2[0]+l1[1]*l2[1]+l1[2]*l2[2]
       return resultado

Listas - próximos passos

String - primeira visita

    >>> x = 'asdfg'
    >>> x[2]
    'd'
    >>> x + ' / '+ 'qwerty'
    'asdfg / qwerty'
    >>> x.append('z')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'str' object has no attribute 'append'
    >>>> x=='asdfg'
    True