aula 07 introdução à programação com a linguagem...

20
Gilberto Ribeiro de Queiroz Thales Sehn Körting Fabiano Morelli Aula 07 – Introdução à Programação com a Linguagem Python 08 de Abril de 2020

Upload: others

Post on 26-Jan-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

  • Gilberto Ribeiro de QueirozThales Sehn KörtingFabiano Morelli

    Aula 07 – Introdução à Programaçãocom a Linguagem Python

    08 de Abril de 2020

  • Tópicos

    • Sequências: strings, tuplas e listas.

  • Sequências:Strings, Tuplas e Listas

  • Sequências• Uma sequência é um conjunto ordenado de n valores:

    a0, a1, a2, ..., an-1

    • Cada elemento de uma sequência é associado a um número: índice ou posição.

    • O primeiro índice é o zero.

    • Os três tipos básicos de sequências são:• Strings: sequência de caracteres.

    • Tuplas: sequência imutável de valores (ou itens).

    • Listas: sequência de valores (ou itens), que pode crescer, encolher, ou alterar elementos.

  • Sequências: Operações Comuns

    Operador Descrição

    x in s True se um item de s for igual a x, False caso contrário

    x not in s False se um item de s for igual a x, True caso contrário

    s + t Concatenação de s e t

    s[i] i-th item de s

    s[i:j] Parte da sequência no intervalo [i,j)

    len(s) Comprimento da sequência s

    min(s) Menor item da sequência s

    max(s) Maior item da sequência s

    s.index(x) Índice da primeira ocorrência de x

    s.count(x) Número total de ocorrências de x em s

    Para maiores detalhes veja a documentação oficial do Python.

    https://docs.python.org/3/library/stdtypes.html

  • Strings: Sequência de Caracteres

    nome = "Gilberto Ribeiro"letra = "b"

    if letra in nome:print("Nome contém a letra 'b'!")

    else:print("Nome não contém a letra 'b'!")

    tamanho = len(nome)print(tamanho)

    pos = nome.index("t")print(pos)

    0102

    03040506

    0708

    0910

  • Tuplas

    • As tuplas são expressas através deuma sequência cujos itens são separadospor vírgula e, delimitados ou não porparênteses.

    # Coordenadas do centróide da Cidade de São Paulo/Brasilcentroide_sp = (-46.7165, -23.6830)

    print(centroide_sp)

    print("longitude: {} latitude: {}".format(*centroide_sp))

    print( len(centroide_sp) )

    longitude = centroide_sp[0]latitude = centroide_sp[1]

    0102

    03

    04

    05

    0607

  • Tuplas

    • As tuplas podem ser aninhadas (nested):

    # retângulo envolvente mínimo (rem) da Cidade de São Paulorem_sp = ( (-46.8254, -24.0084), (-46.3648, -23.6830) )

    canto_inferior_esquerdo = rem_sp[0]

    canto_superior_direito = rem_sp[1]

    print("xmin:", canto_inferior_esquerdo[0])

    0102

    03

    04

    05

  • Tuplas

    • Se tentarmos alterar um item de uma tupla, serálançada uma exceção:

    >>> centroide_sp[1] = 45.0

    Traceback (most recent call last):File "", line 1, in

    TypeError: 'tuple' object does not support item assignment

  • Listas

    cidades = ["São Paulo", "Rio de Janeiro","Belo Horizonte", "Ouro Preto"]

    print(cidades)

    # Ordenando a listacidades.sort()print(cidades)

    # Gera uma nova lista "ordenada ao contrário"nova_lista = sorted(cidades, reverse=True)print(nova_lista)print(cidades)

    0102

    03

    040506

    07080910

    Note que o método sort não criauma nova lista, ele realiza a alteraçãoin-place.

    A função sorted cria uma nova lista a partir da lista de entrada.

  • Listas

    cidades.append("São José dos Campos")print(cidades)

    del cidades[1]print(cidades)

    cidades.extend( ["Ouro Preto", "Mariana"] )print(cidades)

    cidades.reverse()print(cidades)

    0102

    0304

    0506

    0708

  • Listas: outras formas de construçãol_letras = list( "Gilberto" )print(l_letras)

    primos = list( (1, 2, 3, 5, 7) )print(primos)

    seq1 = list( range(10) )print(seq1)

    seq2 = list( range(3, 10) )print(seq2)

    lista_vazia = []print(lista_vazia)

    0102

    0304

    0506

    0708

    0910

  • Listas: List Comprehension

    f_ident = [ x for x in range(0, 10) ]print(f_ident)

    f_quad = [ x**2 for x in range(0, 10) ]print(f_quad)

    f_exp = [ 2**x for x in range(0, 10) ]print(f_exp)

    0102

    0304

    0506

  • Considerações Finais

  • Considerações Finais

    • O tipo de dados lista é uma das estruturas maisutlizadas da linguagem Python.

    • Cada item de uma lista é identificado por um índice.

    • Listas são sequências mutáveis, isto é, podem encolherou incluir novos elementos.

    • Demos os primeiros passos para utilizar um idioma muito comum da programação em Python: • List Comprehension.

  • Referências Bibliográficas

  • Referências Bibliográficas

    • Common Sequence Operations. Acesso: Março, 2018.

    • Mutable Sequence Types. Acesso: Março, 2018.

    • Lists. Acesso: Março, 2018.

    https://docs.python.org/3/library/stdtypes.htmlhttps://docs.python.org/3/library/stdtypes.htmlhttps://docs.python.org/3/library/stdtypes.html

  • Exercícios

  • Lista de valores: NDVI x nulos

    • Dada a lista de valores de NDVIserie_ndvi = [0.3, -0.3, 0.2, None, 0.9, 0.8, 0.8, None, 0.2, 0.2]

    • Apresente as seguintes informações:• Quantidade de valores inválidos (neste caso: None)

    • Quantidade de valores válidos

  • List Comprehension: MODIS

    • Uma imagem MODIS em geral armazena seus valores multiplicados por 10.000. Desta forma um valor 5.000 (inteiro) representa o valor real 0.5 (ponto flutuante) e ocupa menos espaço na memória

    • Dada uma lista de valores MODISserie_modis = [7000, 6000, 3000, 3000, 10000, 2000, 5000, 500, 7500, 3000]

    • Calcule e apresente a lista de valores reais (divididos por 10.000)