Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 00 Curso: Informática – Teoria e Questões comentadas p/ TRF Professor: Gustavo Cavalcante Aula – Python e R Curso: Noções de Informática Professor: Ramon Souza Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 2 de 87 www.exponencialconcursos.com.br ASSUNTOS PÁGINA 1. API – Application Programming Interface ........................................... 4 2. PROGRAMAÇÃO EM PYTHON ............................................................ 5 2.1 Introdução ao Python ........................................................................ 5 2.2 Instalação, inicialização e linha de comando ......................................... 8 2.3 Sintaxe do Python ........................................................................... 10 3. PROGRAMAÇÃO EM R .................................................................... 53 3.1 Introdução ao R .............................................................................. 53 3.2 Sintaxe básica ................................................................................ 54 4. RISCO EXPONENCIAL .................................................................... 63 5. LISTAS DE EXERCÍCIOS ................................................................ 82 6. GABARITO ................................................................................... 87 7. REFERÊNCIAS .............................................................................. 87 Aula – Noções de programação python e R. API (application programming interface). Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 3 de 87 www.exponencialconcursos.com.br Para facilitar sua referência, abaixo listamos as esquematizações desta aula: Esquema 1 – API. ........................................................................................................... 4 Esquema 2 – Introdução ao Python. .................................................................................. 6 Esquema 3 – Instalação do Python. ................................................................................... 8 Esquema 4 – Identação em Python. ................................................................................. 10 Esquema 5 – Comentários em Python. .............................................................................. 11 Esquema 6 – Docstrings em Python. ................................................................................ 11 Esquema 7 – Variáveis em Python ................................................................................... 13 Esquema 8 – Nomes das variáveis em Python. .................................................................. 14 Esquema 9 – Comando print e operador +. ....................................................................... 16 Esquema 10 – Números em Python. ................................................................................. 17 Esquema 11 – Casting em Python. ................................................................................... 18 Esquema 12 – Strings em Python. ................................................................................... 20 Esquema 13 – Principais funções para strings em Python. ................................................... 21 Esquema 14 – Operadores em Python. ............................................................................. 26 Esquema 15 – Coleções em Python. ................................................................................. 28 Esquema 16 – Principais funções para listas em Python. ..................................................... 31 Esquema 17 – Principais funções para tuplas em Python. .................................................... 34 Esquema 18 – Principais funções para conjuntos em Python. ............................................... 35 Esquema 19 – Principais funções para dicionários em Python. ............................................. 37 Esquema 20 – Condições em Python. ............................................................................... 39 Esquema 21 – Loop com while em Python. ........................................................................ 41 Esquema 22 – Loop com for em Python. ........................................................................... 45 Esquema 23 – Funções em Python. .................................................................................. 48 Esquema 24 – Orientação a objetos em Python. ................................................................ 52 Esquema 25 – Linguagem R. ........................................................................................... 53 Esquema 26 – R como calculadora. .................................................................................. 54 Esquema 27 – Objetos em R. .......................................................................................... 56 Esquema 28 – Vetores, Matrizes, Fatores e Listas em R. ..................................................... 59 Esquema 29 – Gráficos em R. .......................................................................................... 62 Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 4 de 87 www.exponencialconcursos.com.br 1. API – Application Programming Interface Uma API (Application Programming Interface ou Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou plataforma baseado na Web. Uma API é criada quando uma empresa de software tem a intenção de que outros criadores de software desenvolvam produtos associados ao seu serviço. Existem vários deles que disponibilizam seus códigos e instruções para serem usados em outros sites da maneira mais conveniente para seus usuários. O Google Maps é um dos grandes exemplos na área de APIs. Por meio de seu código original, muitos outros sites e aplicações utilizam os dados do Google Maps adaptando-o da melhor forma a fim de utilizar esse serviço. Através das APIs, os aplicativos podem se comunicar uns com os outros sem conhecimento ou intervenção dos usuários. Elas funcionam através da comunicação de diversos códigos, definindo comportamentos específicos de determinado objeto em uma interface. A API liga as diversas funções em um site de maneira que possam ser utilizadas em outras aplicações. Vamos usar um esquema para fixar as APIs: Esquema 1 – API. API - Application Programming Interface ou Interface de Programação de Aplicativos Conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou plataforma Intenção de que outros criadores de software desenvolvam produtos associados ao seu serviço Aplicativos podem se comunicar uns com os outros sem conhecimento ou intervenção dos usuários Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 5 de 87 www.exponencialconcursos.com.br 2. PROGRAMAÇÃO EM PYTHON 2.1 Introdução ao Python Python é uma linguagem de programação popular que foi criada em 1991 por Guido van Rossum. O Python pode ser usado: ▪ Em um servidor para criar aplicativos da web. ▪ Junto com o software para criar fluxos de trabalho. ▪ Se conectar a sistemas de banco de dados. Também pode ler e modificar arquivos. ▪ Para manipular dados grandes e executar matemática complexa. ▪ Para prototipagem rápida ou para desenvolvimento de software pronto para produção. O Python apresenta algumas vantagens em relação a outras linguagens de programação. Vejamos as principais: ▪ Funciona em diferentes plataformas (Windows, Mac, Linux, Raspberry Pi, etc). ▪ Possui uma sintaxe simples semelhante ao idioma inglês. ▪ Possui uma sintaxe que permite aos desenvolvedores escrever programas com menoslinhas do que algumas outras linguagens de programação. ▪ É executado em um sistema interpretador, o que significa que o código pode ser executado assim que é escrito. Isso significa que a prototipagem pode ser muito rápida. ▪ Pode ser tratado de maneira processual, orientada a objetos ou funcional. A versão principal mais recente do Python é o Python 3, que usaremos neste tutorial. No entanto, o Python 2, embora não seja atualizado com nada além de atualizações de segurança, ainda é bastante popular. Os programas em Python podem ser escritos em um editor de texto ou um Ambiente de Desenvolvimento Integrado (IDE), como Thonny, Pycharm, Netbeans ou Eclipse. É importante ressaltar que a sintaxe do Python possui algumas diferenças em comparação com outras linguagens de programação. Vejamos: ▪ O Python foi projetado para facilitar a leitura e possui algumas semelhanças com o idioma inglês com influência da matemática. ▪ O Python usa novas linhas para concluir um comando, ao contrário de outras linguagens de programação que usam frequentemente ponto e vírgula ou parênteses. ▪ O Python depende do recuo (identação), usando espaço em branco, para definir o escopo; como o escopo de loops, funções e classes. Outras linguagens de programação costumam usar chaves para esse propósito. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 6 de 87 www.exponencialconcursos.com.br Vamos esquematizar os principais conceitos iniciais sobre o Phyton: Esquema 2 – Introdução ao Python. P y th o n Usado para criar aplicativos da web criar fluxos de trabalho conectar a sistemas de banco de dados executar matemática complexa prototipagem rápida ou para desenvolvimento de software pronto Vantagens diferentes plataformas sintaxe simples menos linhas sistema interpretador processual, orientada a objetos ou funcional Diferenças na sintaxe semelhanças com o idioma inglês com influência da matemática novas linhas para concluir um comando depende do recuo (identação) Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 7 de 87 www.exponencialconcursos.com.br Vejamos como esses conceitos iniciais são cobrados: 1- (CESPE - 2011 - Correios - Analista de Correios - Analista de Sistemas - Desenvolvimento de Sistemas) Com relação aos sistemas de suporte a decisão e gestão de conteúdo, julgue os seguintes itens. A linguagem Python e seu interpretador estão disponíveis para as mais diversas plataformas. Para que seja usado em determinado sistema operacional não suportado, é possível gerar o Python a partir do programa fonte utilizando um compilador C. Nesse caso, o código fonte é traduzido para o formato bytecode, que é multiplataforma e pode ser distribuído de forma independente. Resolução: A linguagem Python é interpretada e pode ser usada em diversos sistemas operacionais. Estas são justamente duas das vantagens dessa linguagem. A linguagem e seu interpretador estão disponíveis para as mais diversas plataformas, desde Unix (Linux, FreeBSD, Solaris, MacOS X, etc.), Windows, .NET, versões antigas de MacOS até consoles de jogos eletrônicos ou mesmo alguns celulares, como a série 60, N8xx(PyMaemo) da Nokia e palmtops. Caso seja necessário executar um programa Python em um sistema operacional não suportado, podemos utilizar um compilador na linguagem de programação C para gerar o Python a partir do seu código fonte. O código fonte é traduzido pelo interpretador para o formato bytecode, que é multiplataforma e pode ser executado e distribuído sem fonte original. Gabarito: Certo. 2- (CESPE - 2008 - SERPRO - Analista - Desenvolvimento de Sistemas) Com relação às linguagens, julgue os itens a seguir. Python é uma linguagem livre de alto nível, orientada a objetos e de difícil leitura, pois não permite identação de linhas de código. Resolução: Nesta questão, temos algumas características que estão erradas. Vejamos: Python é uma linguagem livre de alto nível, orientada a objetos (funcional ou processual) e de difícil simples leitura, pois não permite e que depende da identação de linhas de código. Gabarito: Errado. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 8 de 87 www.exponencialconcursos.com.br 2.2 Instalação, inicialização e linha de comando Instalação do python O Python já vem instalado em muitos computadores, sejam eles PCs ou Macs. Para verificar se o python está instalado: ▪ No Windows: pesquise na barra de início do Python ou execute o seguinte na linha de comando (cmd.exe): C:\Usuários\Seu Nome>python --version ▪ No Linux ou Mac: abra a linha de comando no Linux ou o Terminal no Mac e digite: python --version Se o python não estiver instalado no seu computador, é possível baixá- lo gratuitamente no seguinte site: https://www.python.org/. Esquema 3 – Instalação do Python. Gratuito Disponível em https://www.python.org/ Para verificar a instalação Windows cmd.exe C:\Usuários\Seu Nome>python --version Linux ou Mac Linha de comando ou Terminal python --version Python Já vem instalado em muitos computadores Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 9 de 87 www.exponencialconcursos.com.br Inicialização do Python O Python é uma linguagem de programação interpretada, isso significa que, como desenvolvedor, você escreve arquivos Python (.py) em um editor de texto e coloca esses arquivos no interpretador python a ser executado. A maneira de executar um arquivo python é assim na linha de comando: C:\Usuários\Seu Nome>python helloworld.py Onde "helloworld.py" é o nome do seu arquivo python. Geralmente quando estudamos qualquer linguagem de programação, escrevemos um programa básico só para vê-lo funcionar. Esse programa é bem simples e tem a função de apresentar um texto na tela dando Olá para o mundo. Vejamos a sintaxe para escrever esse programa: print (“Hello, World!”) Ao executar esse programa teremos: Linha de comando do python Através da linha de comando, é possível testar um trecho de código em python sem a necessidade de escrever em um editor de texto ou em uma IDE. Para isso, digite o seguinte na linha de comando do Windows, Mac ou Linux: C:\Usuários\Seu Nome>python A partir daí, você pode escrever qualquer python, incluindo nosso exemplo de hello world anterior no tutorial: Sempre que você terminar na linha de comando do python, você pode simplesmente digitar o seguinte para sair da interface de linha de comando do python: exit() Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 10 de 87 www.exponencialconcursos.com.br 2.3 Sintaxe do Python O Python possui algumas regras interessantes sobre a sua sintaxe, isto é, sobre os elementos que compõem a sua linguagem e sobre a relação entre esses elementos. Identação (ou recuo) em Python A principal dessas regras é sobre a identação, ou seja, sobre o recuo aplicado as linhas dos códigos. Enquanto em outras linguagens de programação o recuo no código é apenas para facilitar a leitura, em Python o recuo é muito importante, pois é usado para indicar um bloco de código. Um bloco de código indica um conjunto de instruções. Em outras linguagens como o Java, os blocos de código são indicados por chaves ({ e }). Já em python, o recuo é utilizado para essa finalidade. Assim, muito cuidado com a identação do código em python, pois caso o código não esteja escrito com os recuos indicando corretamente os blocos, ocorrerão erros. Vejamos o seguinte código: if 5 > 2: print("Five is greater than two!") Neste código, o recuo utilizado para a instrução print indicaque ela faz parte do mesmo bloco de código da instrução if. Caso não seja adotado o recuo, teremos probremas: if 5 > 2: print("Five is greater than two!") Neste caso, o python irá retornar um erro: IndentationError: expected an indented block Assim, temos que: Esquema 4 – Identação em Python. Recuo (ou identação) indica blocos de código Se não houver indicação correta dos recuros ocorrerá erro IndentationError Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 11 de 87 www.exponencialconcursos.com.br Comentários e docstrings em Python Os comentários, como o próprio nome indica, são notas que podem ser incluídas no código fonte para descrever algo que se deseje. Assim, não modificam o programa executado e servem somente para ajudar o programador a melhor organizar os seus códigos. No Python, os comentários começam com #. #Isto é um comentário. print("Hello, World!") Esquema 5 – Comentários em Python. Os comentários podem ser usados para documentação do código, mas o Python também estendeu essa documentação por meio das docstrings. As docstrings podem ser de uma linha ou multilinha e iniciam e terminam com aspas triplas. Também não modificam o programa executado. """Isto é uma docstring multilinha.""" print("Hello, World!") Esquema 6 – Docstrings em Python. Comentários em Python Notas incluídas no programa Começam com # Não modificam o programa executado Docstring Extensão da documentação Uma linha ou multilinha Início e fim com aspas triplas Não modificam o programa executado Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 12 de 87 www.exponencialconcursos.com.br 3- (CESPE - 2010 - SERPRO - Analista - Redes) Julgue os itens que se seguem, a respeito da linguagem Python, versão 3.1. Se, em qualquer linha do script Python, a expressão regular coding [=:] \s*([~\w.]+) corresponder a um comentário, este será processado como uma declaração de codificação. Resolução: Nada que é escrito como comentário é processado. Os comentários, como o próprio nome indica, são notas que podem ser incluídas no código fonte para descrever algo que se deseje. Assim, não modificam o programa executado e servem somente para ajudar o programador a melhor organizar os seus códigos. Gabarito: Errado. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 13 de 87 www.exponencialconcursos.com.br Variáveis em Python Na programação, uma variável é um objeto (uma posição, frequentemente localizada na memória) capaz de reter e representar um valor ou expressão. Enquanto as variáveis só "existem" em tempo de execução, elas são associadas a "nomes", chamados identificadores, durante o tempo de desenvolvimento. Uma variável pode ser representada por uma letra (a, b, x, y) ou por um nome (salario, cidade, cpf). Algumas linguagens requerem que as variáveis sejam declaradas antes de serem usadas, o que não ocorre com o Python, em que as variáveis são criadas no momento em que é atribuído um valor para elas. O código a seguir ilustra a criação de uma variável x que recebe o valor 5 e da variável y que recebe o valor “John”. x = 5 y = "John" Como dito, em Python, as variáveis não precisam ser previamente declaradas e também não precisam ser de um tipo particular, isto é, não precisam ser definidas para representar números, caracteres, datas, etc. Dizemos que Python é uma linguagem dinamicamente tipada, pois o tipo da variável é redefinido sempre que ocorrer uma nova atribuição de valor. Vejamos um código comentado para entender melhor essa questão das variáveis: x = 4 # x é variável criada com o valor 4 e portanto é do tipo int. x = "Sally" # x é agora variável do tipo str com o valor “Sally”. print(x) Em Python, podemos atribuir valores a mais de uma variável ao mesmo tempo, basta colocar as variáveis separadas por vírgulas, o sinal de atribuição e os valores também separados por vírgulas. Assim, x, y = 5, “John” #x é criada com o valor 5 e y com o valor “John” Esquema 7 – Variáveis em Python Variáveis Representa um valor ou expressão Em Python, criadas no momento em que é atribuído um valor para elas Não são declaradas previmente e nem possuem tipo pré-definido, sendo dinamicamente tipadas Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 14 de 87 www.exponencialconcursos.com.br Uma variável pode ter um nome abreviado (como xey) ou um nome mais descritivo (idade, nome_do_funcionario, volume_total) e seguem as seguintes regras: ▪ Um nome de variável deve começar com uma letra ou o caractere de sublinhado. ▪ Um nome de variável não pode começar com um número. ▪ Um nome de variável pode conter apenas caracteres alfanuméricos e sublinhados (A-z, 0-9 e _). ▪ Os nomes das variáveis são case-sensitive, isto é, fazem distinção entre maiúsculas e minúsculas (idade, Idade e IDADE são três variáveis diferentes). Vamos dar alguns exemplos de nomes de variáveis válidos e inválidos: Nomes válidos Nomes inválidos cidade, _cidade 9cidade, 9_cidade cidade2000, cidade_2000 cidade2000*, cidade_14% Cidade, cidade, CIDADE CID@DE Vamos esquematizar as regras para os nomes das variáveis: Esquema 8 – Nomes das variáveis em Python. Nomes das variáveis Começar com letra ou _ Não pode começar com número Apenas caracteres alfanuméricos e sublinhados (A-z, 0-9 e _) São case- sensitive Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 15 de 87 www.exponencialconcursos.com.br O comando print do Python é frequentemente usado para exibir variáveis. Para combinar texto e uma variável, o Python usa o caractere +: x = “incrível” print(“Python é “ + x) O resultado desse código será: Python é incrível Também é possível usar o caractere + para adicionar uma variável a outra: x = “Python é ” y = “incrível” z = x + y print(z) O resultado desse código será: Python é incrível Para números, + funciona como um operador matemático de soma: x = 5 y = 10 print(x+y) O resultado desse código será: 15 Muito cuidado ao combinar cadeias de caracteres (strings) com números, pois poderá resultar em erro: x = 5 y = “John” print(x+y) Neste caso, o python irá retornar um erro: TypeError: unsupported operand type(s) for +: 'int' and 'str' Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 16 de 87 www.exponencialconcursos.com.br Vamos esquematizar o comando print juntamente com o operador +: Esquema 9 – Comando print e operador +. print String "Python é " + String "incrível" String "Python é incrível" Número 10 Erro TypeError Número 5 + Número 10 Soma 15 Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 17 de 87 www.exponencialconcursos.com.br Números em Python Os números em Python podem ser representados com base em três tipos: ▪ int: ou inteiro, é um número inteiro, positivo ou negativo, sem decimais, de comprimento ilimitado. Ex.: 1, 1354892, -12. ▪ float: ou "número de ponto flutuante" é um número, positivo ou negativo, contendo uma ou mais casas decimais. Ex.: 1.10, -26.59, 35e3 (e indica uma potência de 10). ▪ complex: escritos com um "j" como a parte imaginária. Ex.: 3 + 5j, 2j, -5j. Lembre-se que os tipos são definidos de acordo com a atribuição dos valores. Logo, teremos: x = 5 #int y = 2.8 #float z = 1j #complex É possível verificar o tipo de qualquer objeto em python, usando a função type(). Assim, tendo como base as variáveisacima e executando os seguintes comandos, print(type(x)) print(type(y)) print(type(z)) O resultado será: Esquema 10 – Números em Python. int Número inteiro, positivo ou negativo, sem decimais, de comprimento ilimitado Ex.: 1, 1354892, -12. float Número, positivo ou negativo, contendo uma ou mais casas decimais Ex.: 1.10, -26.59, 35e3 (e indica uma potência de 10). complex Número complexo, escrito com um "j" como a parte imaginária. Ex.: 3 + 5j, 2j, -5j. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 18 de 87 www.exponencialconcursos.com.br Casting Ainda que o Python seja uma linguagem dinamicamente tipada, algumas vezes precisamos especificar os tipos para as variáveis. Essa indicação ocorre por meio do casting, que em Python, é realizado por meio das seguintes funções: ▪ int(): constrói um número inteiro a partir de um inteiro, um float (arredondando para baixo para o número inteiro anterior), ou uma string (fornecendo o inteiro que representa a string). x = int(1) #x será 1 y = int(2.8) #y será 2 z = int(“3”) #z será 3 ▪ float(): constrói um número float a partir de um inteiro, um float ou uma string (fornecendo o float que representa a string). x = float(1) #x será 1.0 y = float(2.8) #y será 2.8 z = float(“3”) #z será 3.0 w = float (“4.2”) #w será 4.2 ▪ str(): constrói uma string a partir de uma ampla variedade de tipos de dados, incluindo strings, inteiros e float. x = str(“s1”) #x será ‘s1’ y = str(2) #y será ‘2’ z = str(3.0) #z será ‘3.0’ Esquema 11 – Casting em Python. Casting int() float() str() Especificar os tipos das variáveis Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 19 de 87 www.exponencialconcursos.com.br 4- (CESPE - 2013 - MPOG - Tecnologia da Informação) A expressividade do código é uma característica importante no desenvolvimento e manutenção de um software.Python e Ruby são exemplos de linguagens que apresentam essa qualidade.Acerca dessas linguagens,julgue os itens subsequentes. Em Python, o comando int("1") cria um objeto do tipo int, que recebe 1 como parâmetro no seu construtor. Resolução: Ainda que o Python seja uma linguagem dinamicamente tipada, algumas vezes precisamos especificar os tipos para as variáveis. Essa indicação ocorre por meio do casting. A função int() constrói um número inteiro a partir de um inteiro, um float (arredondando para baixo para o número inteiro anterior), ou uma string (fornecendo o inteiro que representa a string). Assim, x = int(1) #x será 1 Gabarito: Certo. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 20 de 87 www.exponencialconcursos.com.br Strings Na programação de computadores, uma cadeia de caracteres ou string é uma sequência de caracteres, geralmente utilizada para representar palavras, frases ou textos de um programa. Em Python, uma string pode ser representada entre aspas simples ou aspas duplas: ‘olá’ ou “olá”. Como muitas outras linguagens de programação populares, strings no Python são cadeias de bytes representando caracteres UNICODE. No entanto, o Python não tem um tipo de dados de caractere, um único caractere é simplesmente uma string com um comprimento de 1. Os colchetes [] podem ser usados para acessar elementos específicos da string. a = “hello” print(a[1]) #retornará ‘e’ print (a[0:2]) #retornará ‘he’ Tenha em mente que os elementos das strings começam do número 0, e por isso o código anterior retornou o valor ‘e’, pois a[1] representa o segundo elemento da string a. Do mesmo modo, podemos indicar também um intervalo de caracteres, sendo que em a[0:2] teremos o retorno dos elementos 0 e 1, ou seja, ‘he’. Em um intervalo, a posição final indicada não é incluída. Esquema 12 – Strings em Python. String em Python Sequência de caracteres Entre aspas simples (') ou duplas (") Um caractere é uma string de tamanho 1 [] é usado para acessar elementos específicos Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 21 de 87 www.exponencialconcursos.com.br Outras funções aplicáveis a strings são apresentadas no quadro a seguir: Função O que faz? Exemplo capitalize() Retorna uma string com o primeiro caractere maiúsculo a = "olá, mundo." print (a.capitalize()) #retorna "Olá, mundo!" count() Retorna o número de vezes que um valor aparece em uma string a = "Eu amo python, python é muito legal" print(a.count("python")) #retorna 2 endswith() Retorna True se a string terminar com um valor a = "Eu amo python, python é muito legal" print(a.endswith("legal")) #retorna True find() Retorna a posição da primeira ocorrência de um valor em uma string ou -1 se não existir. a = "Eu amo python, python é muito legal" print(a.find("amo")) #retorna 3 print(a.find("java")) #retorna -1 index() Similar ao find, mas retorna uma exceção se o valor não existir na string a = "Eu amo python, python é muito legal" print(a.index("amo")) #retorna 3 print(a.index("java")) #retorna ValueError: substring not found isalnun() Retorna True para uma condição (todos os caracteres serem alfanuméricos) e FALSE se não for. a = "ExponencialÉ10" print(a.isalnum()) #retorna True. Outras condições para True isalpha(): somente letras do alfabeto; isdecimal(): somente decimais; isdigit(): somente dígitos; isidentifier(): se for identificador; islower(): somente letras minúsculas; isspace(): somente espaços; istitle(): segue a regra para títulos; isupper(): somente maiúsculas. len() Retorna o tamanho da string a = "Olá, Mundo!" print(len(a)) #retorna 10 lower() ou casefold() Retorna a string em letras minúsculas a = " Olá, Mundo! " print(a.lower()) #retorna "olá, mundo!" replace() Substitui uma string por outra a = " Olá, Mundo! " print(a.replace("l", "p")) #retorna "Opá, Mundo!" startswith() Retorna True se a string começar com um valor a = "Eu amo python, python é muito legal" print(a.startswith("Eu")) #retorna True split() Retorna as substrings encontradas entre o separador indicado a = "Olá, Mundo!" print(a.split(",")) #retorna ['Olá', ' Mundo!'] strip() Remove os espaços em branco do início e do fim da string a = " Olá, Mundo! " print(a.strip()) #retorna "Olá, Mundo!" title() Converte o primeiro caractere de cada palavra para maiúscula a = "Eu amo python!" print(a.title()) #”Eu Amo Python!” upper() Retorna a string em letras maiúsculas a = " Olá, Mundo! " print(a.upper()) #retorna "OLÁ, MUNDO!" Esquema 13 – Principais funções para strings em Python. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 22 de 87 www.exponencialconcursos.com.br 5- (CESGRANRIO - 2005 - AL-TO - Programador de computador) O método capitalize da classe String do Python é utilizado para: a) remover todos os espaços de uma string. b) verificar se todos os caracteres da string são numéricos. c) procurar uma substring em uma string retornando seu índice caso seja encontrada. d) retornar uma cópia de uma string somente com o primeiro caractere em maiúsculo. e) retornar uma cópia de uma string com todos os caracteres em minúsculo. Resolução: Vamos analisar qual o método ou função responsável por cada um dos itens: a) Incorreto: o método strip() é usado para remover todos os espaços de uma string. b) Incorreto: o método isdecimal() é usado para verificar se todos os caracteres da string são numéricos. c) Incorreto: o método find() é usado para procurar uma substring em uma string retornando seu índice caso seja encontrada. d) Correto: o métodocapitalize() é usado para retornar uma cópia de uma string somente com o primeiro caractere em maiúsculo. e) Incorreto: o método lower() é usado para retornar uma cópia de uma string com todos os caracteres em minúsculo. Gabarito: Letra D. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 23 de 87 www.exponencialconcursos.com.br Operadores em Python Uma linguagem de programação também utiliza um conjunto de operadores para realizar operações em variáveis e valores. O Python divide os operadores nos seguintes grupos: aritméticos; de atribuição; de comparação; lógicos; de identidade; de associação; e bit a bit. Vamos ver os operadores divididos nestes grupos no quadro a seguir: Operadores aritméticos Usados para realizar operações matemáticas comuns com valores numéricos Tome x = 10 e y = 4. Operador Nome Exemplo + Adição x + y 14 - Subtração x – y 6 * Multiplicação x * y 40 / Divisão x / y 2.5 % Módulo (resto da divisão) x % y 2 ** Exponenciação x ** y 10000 // Divisão com piso (arredonda o resultado para baixo) x // y 2 Operadores de atribuição Usados para atribuir valores a variáveis. Considere x sempre o valor da linha anterior, iniciando com 5 na primeira. Operador Exemplo Descrição Mesmo que = x = 5 Atribuição simples. Variável recebe o valor indicado. x = 5 += x += 3 x = 8 Atribuição com soma. x = x + 3 -= x -= 3 x = 5 Atribuição com subtração. x = x - 3 Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 24 de 87 www.exponencialconcursos.com.br *= x *= 3 x = 15 Atribuição com multiplicação. x = x * 3 /= x /= 3 x = 5 Atribuição com divisão. x = x / 3 %= x %= 3 x = 2 Atribuição com resto. x = x % 3 x = 10 //= x //= 3 x = 3 Atribuição com divisão com piso. x = x // 3 **= x **= 3 x = 9 Atribuição com exponenciação. x = x ** 3 &= x &= 3 Atribuição com operação AND binária. x = x & 3 |= x |= 3 Atribuição com operação OR binária. x = x | 3 ^= x ^= 3 Atribuição com operação XOR binária. x = x ^ 3 >>= x >>= 3 Atribuição com operação Signed right shift binária. x = x >> 3 <<= x <<= 3 Atribuição com operação Zero fill left shift binária. x = x << 3 Operadores de comparação Usados para comparar dois valores. Tome x = 10 e y = 4. Operador Name Exemplo == Igual x == y False != Não igual x != y True > Maior que x > y True < Menor que x < y False >= Maior ou igual a x >= y True <= Menor ou igual a x <= y False Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 25 de 87 www.exponencialconcursos.com.br Operadores lógicos Usados para combinar condições. Tome x = 10 e y = 4. Operador Descrição Exemplo and Retorna True se ambas as declarações forem verdadeiras x < 5 and y < 10 False, pois x < 5 é falso or Retorna True se uma das declarações forem verdadeiras x < 5 and y < 10 True, pois y < 10 é verdadeiro not Reverte o resultado, retornando False para quando verdadeiro e True para quando falso not(x < 5 and y < 10) True, pois (x < 5 and y < 10) retorna False Operadores de identidade Usados para comparar objetos, se eles são realmente o mesmo objeto ocupando a mesma posição de memória. Operador Descrição Exemplo is Retorna True se ambas as variáveis representam o mesmo objeto x is y x = ["apple", "banana"] y = ["apple", "banana"] z = x print(x is z) #retorna True porque z e x são o mesmo objeto print(x is y) #retorna False porque x não é o mesmo objeto que y, embora tenham o mesmo conteúdo is not Retorna True se as variáveis representam objetos diferentes x is not y x = ["apple", "banana"] y = ["apple", "banana"] z = x print(x is not z) #retorna False porque z e x são o mesmo objeto Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 26 de 87 www.exponencialconcursos.com.br Operadores de associação Usados para testar se uma sequência de valores é apresentada em um objeto. Operador Descrição Exemplo in Retorna True se uma sequência com valores especificados está presente no objeto. x in y x = ["apple", "banana"] print("banana" in x) #retorna True porque "banana" está na lista not in Retorna True se uma sequência com valores especificados não está presente no objeto. x not in y x = ["maça", "banana"] print("uva" not in x) #retorna True porque "uva" não está na lista Operadores bit a bit Usados para combinar declarações condicionais, mas bit a bit Operador Nome Descrição & AND Coloca cada bit em 1 se ambos os bits forem 1 | OR Coloca cada bit em 1 se um dos bits forem 1 ^ XOR Coloca cada bit em 1 se somente um dos bits forem 1 ~ NOT Inverte todos os bits << Zero fill left shift Desloca para a esquerda, empurrando zeros da direita e deixando os bits mais à esquerda >> Signed right shift Move para a direita, empurrando cópias do bit mais à esquerda, e excluindo os bits mais a direita Esquema 14 – Operadores em Python. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 27 de 87 www.exponencialconcursos.com.br 6- (FGV - 2018 - MPE-AL - Analista do Ministério Público - Administrador de Rede) Considere os seguintes operadores: Exponenciação Comparação de igualdade Módulo (resto da divisão) Assinale a lista dos símbolos que, respectivamente, representam esses operadores no Python. a) ^ == mod b) ** == % c) ** = % d) ** = mod e) ^ = mod Resolução: Vamos analisar qual o método ou função responsável por cada um dos itens: a) Incorreto: ^ (XOR) == (Igualdade) mod (não é operador) b) Correto: ** (Exponenciação) == (Igualdade) % (Resto de divisão) c) Incorreto: ** (Exponenciação) = (Atribuição) % (Resto de divisão) d) Incorreto: ** (Exponenciação) = (Atribuição) mod (não é operador) e) Incorreto: ^ (XOR) = (Atribuição) mod (não é operador) Gabarito: Letra B. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 28 de 87 www.exponencialconcursos.com.br Coleções em Python Uma coleção é uma estrutura de dados para armazenar objetos. Em Python, existem quatro tipos de coleções. São elas: ▪ List (lista) é uma coleção ordenada e modificável. Permite membros duplicados. É indexada por inteiro. ▪ Tuple (sequência) é uma coleção que é ordenada e imutável. Permite membros duplicados. É indexada por inteiro. ▪ Set (conjunto) é uma coleção desordenada e não indexada. Nenhum membro duplicado. ▪ Dictionary (dicionário) é uma coleção que é desordenada, alterável e indexada (pode ser por string). Nenhum membro duplicado. Ao escolher um tipo de coleção, é útil entender as propriedades desse tipo. Escolher o tipo certo para um determinado conjunto de dados pode significar retenção de significado e pode significar um aumento na eficiência ou segurança. Vamos diferenciar essas coleções com base em um esquema: Esquema 15 – Coleções em Python. List Ordenada Modificável Permite duplicados Indexação por inteiro Entre [] Tuple Ordenada Não modificável Permite duplicados Indexação por inteiro Entre () Set Não ordenada Modificável Modificável Não permite duplicados Entre {} Dictionary Não ordenada Modificável Não permite duplicados Indexação por string Entre {}, mas com chave e valor Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 29 de 87 www.exponencialconcursos.com.br 7- (NC-UFPR - 2017 - ITAIPU BINACIONAL - Profissional de Nível Superior Jr - Computação ou Informática– Suporte) Três tipos de dados fundamentais em Python são as listas (“lists”), sequências ou ‘tuplas’ (“tuples”) e dicionários (“dictionaries”). A respeito dessas estruturas, é correto afirmar: a) Listas não podem ser modificadas depois de criadas, ao passo que sequências e dicionários podem. b) Listas podem ser modificadas, mas seu tamanho não pode ser modificado após a criação, ao passo que sequências e dicionários não têm essa limitação. c) Dicionários não podem ser modificados depois de criados, ao passo que listas e sequências podem. d) Listas e sequências são indexadas por inteiros, ao passo que dicionários podem ser indexados por “strings”. e) Listas e dicionários são indexados por inteiros, ao passo que sequências podem ser indexadas por “strings”. Resolução: Vamos analisar cada uma das alternativas: a) Incorreto: Listas não podem ser modificadas depois de criadas, ao passo que sequências (ou tuplas) não podem e dicionários podem. b) Incorreto: Listas podem ser modificadas, mas seu tamanho não pode ser modificado após a criação, ao passo que sequências não podem e dicionários não têm essa limitação. c) Incorreto: Dicionários não podem ser modificados depois de criados, ao passo que listas podem e sequências não podem. d) Correto: Listas e sequências são indexadas por inteiros, ao passo que dicionários podem ser indexados por “strings”. e) Incorreto: Listas e dicionários sequências são indexados por inteiros, ao passo que sequências dicionários podem ser indexadas por “strings”. Gabarito: Letra D. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 30 de 87 www.exponencialconcursos.com.br Listas em Python Uma lista (List) é uma coleção ordenada e modificável. Em Python, listas são escritas com colchetes []. O código a seguir representa a criação de uma lista com três elementos estalista = [“maçã”, “banana”, “cereja”] print(estalista) O resultado do comando print será: ['maçã', 'banana', 'cereja'] Os elementos de uma lista podem ser acessados por meio de um índice inteiro, sendo que 0 representa o primeiro elemento, 1 o segundo elemento e, assim, sucessivamente. Se for usado um número negativo, considera-se que está se partindo do final da lista. Logo: estalista = [“maçã”, “banana”, “cereja”] estalista[1] = “abacaxi” print(estalista) O comando da segunda linha irá alterar o elemento 1 da lista, isto é, o segundo elemento e o resultado do comando print será: ['maçã', 'abacaxi', 'cereja'] Vejamos a seguir os principais métodos ou funções que podem ser usados com as listas: Função O que faz? Exemplo list() Constrói uma lista passando-se os elementos estalista = list(("maçã", "banana", "cereja")) append() Acrescenta um elemento no final da lista estalista = list(("maçã", "banana", "cereja")) estalista.append("uva") print(estalista) #retorna ['maçã', 'banana', 'cereja', 'uva'] clear() Remove todos os elementos de uma lista estalista = list(("maçã", "banana", "cereja")) estalista.clear() print(estalista) #retorna [] copy() Retorna uma cópia da lista estalista = list(("maçã", "banana", "cereja")) x = estalista.copy() print(x) #retorna ['maçã', 'banana', 'cereja'] count() Retorna o número de elementos com um valor espeficicado estalista = list(("maçã", "banana", "cereja")) x = estalista.count("cereja") print(x) #retorna 1 Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 31 de 87 www.exponencialconcursos.com.br extend() Adiciona os elementos de uma lista ao final de outra estalista1 = list(("maçã", "banana", "uva")) estalista2 = list(("pêra", "cereja")) estalista1.extend(estalista2) print(x) #retorna ['maçã', 'banana', 'uva', ‘pêra’, “cereja”] index() Retorna o índice do primeiro elemento com um valor especificado estalista = list(("maçã", "banana", "cereja")) estalista.index("cereja") print(estalista) #retorna 2 insert() Adiciona um elemento a uma posição específica estalista = list(("maçã", "banana", "cereja")) estalista.insert(1, "uva") print(estalista) #retorna ['maçã', ‘uva’, 'banana', 'cereja'] pop() Remove o elemento de uma posição específica estalista = list(("maçã", "banana", "cereja")) estalista.pop(1) print(estalista) #retorna ['maçã', 'cereja'] remove() Remove o primeiro item com um valor especificado estalista = list(("maçã", "banana", "cereja")) estalista.remove("banana") print(estalista) #retorna ['maçã', 'cereja'] range() Gera uma lista (um range na versão 3.5) de números inteiros. Pode ser: range(start, stop, step) range(start, stop) range(stop), onde start: número de início stop: número final, sem incluir o próprio step: diferença entre cada número na sequência, 1 por padrão estalista = range(1, 10, 2) print(estalista) #retorna [1, 3 , 5, 7, 9] estalista = range(2, 5) print(estalista) #retorna [2, 3, 4] estalista = range(5) print(estalista) #retorna [0, 1, 2, 3, 4] reverse() Reverte a ordem da lista estalista = list(("maçã", "banana", "cereja")) estalista.reverse() print(estalista) #retorna [‘cereja', 'banana', ‘maçã’] sort() Ordena a lista. Por padrão usa a ordem crescente. Pode usar atributos ou mesmo outras funções com critérios específicos para indicar outras ordens. list.sort(reverse=True|False, key=myFunc), onde: reverse=True irá usar a ordem decrescente. key=uma função para especificar um critério. estalista = list(("maçã", "banana", "cereja")) estalista.sort() print(estalista) #retorna ['banana', ‘cereja', ‘maçã’] Esquema 16 – Principais funções para listas em Python. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 32 de 87 www.exponencialconcursos.com.br 8- (UNIRIO - 2014 - UNIRIO - Analista Tecnologia da Informação - Desenvolvimento de Sistemas) Sobre o comando range para construção de listas na linguagem Python, é CORRETO afirmar que a) range(4,6) gera a lista [4,5]. b) range(5) gera a lista [1,2,3,4,5]. c) range(4,6) gera a lista [4,5,6,7,8,9]. d) range(5,1) gera a lista [5]. e) range(5,1,-2) gera a lista [4,5]. Resolução: Vamos analisar cada uma das alternativas: a) Correto: range(4,6) gera a lista [4,5], pois usa os atributos start para indicar o início 4 e stop para indicar o fim, sem incluir este último. b) Incorreto: range(5) gera a lista [1,2,3,4,5], pois não inclui o elemento stop indicado. c) Incorreto: range(4,6) gera a lista [4,5,6,7,8,9], pois usa os atributos start para indicar o início 4 e stop para indicar o fim, sem incluir este último. d) Incorreto: range(5,1) gera a lista [5] [], pois por padrão o step é 1, mas como o stop está fixado em um valor inferior ao start, não será possível incluir um elemento neste intervalo e) Incorreto: range(5,1,-2) gera a lista [4,5] [5,3], pois usa os atributos start para indicar o início 5 e stop para indicar o fim em 1, sem incluir este último e step para indicar que vai reduzindo de 2 em 2. Gabarito: Letra A. 9- (IF-PE - 2016 - IF-PE - Técnico em Tecnologia da Informação - Desenvolvimento) Uma das estruturas de dados existentes na linguagem de programação Python são as listas. Considere o trecho de código abaixo: candidatos = ['José', 'João', 'Cibelly', 'Sonivaldo','Dariane'] É CORRETO afirmar que a) candidatos.len() obtem o tamanho da lista. b) o método append é utilizado para adicionar um elemento no início da lista. c) o comando insert('Antônio') insere “Antônio” no início da lista. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 33 de 87 www.exponencialconcursos.com.br d) candidatos[-2] retornaria o penúltimo elemento da lista. e) candidatos.size()obtem o tamanho da lista. Resolução: Vamos analisar cada uma das alternativas: a) Incorreto: candidatos.len() len(candidatos) obtem o tamanho da lista. b) Incorreto: o método append é utilizado para adicionar um elemento no início fim da lista. c) Incorreto: o comando insert('Antônio') não executa, pois requer que se indique a posição que o elemento será inserido insere “Antônio” no início da lista. d) Correto: candidatos[-2] retornaria o penúltimo elemento da lista. Um índice inteiro negativo indica que os elementos serão acessados a partir do final da lista, então [-2] indica que será acessado o segundo elemento do final para o início. e) Incorreto: candidatos.size() len(candidatos) obtem o tamanho da lista. Gabarito: Letra D. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 34 de 87 www.exponencialconcursos.com.br Tuplas em Python Uma Sequência (Tupla ou Tuple) é uma coleção ordenada e imutável. Em Python, elas são escritas entre parênteses (). O código a seguir representa a criação de uma tupla com três elementos estatupla = (“maçã”, “banana”, “cereja”) print(estatupla) O resultado do comando print será: ('maçã', 'banana', 'cereja') Os elementos de uma tupla podem ser acessados por meio de um índice inteiro, sendo que 0 representa o primeiro elemento, 1 o segundo elemento e, assim, sucessivamente. Se for usado um número negativo, considera-se que está se partindo do final da tupla. Logo: estatupla = (“maçã”, “banana”, “cereja”) print(estatupla[1]) O comando da segunda linha irá exibir o elemento 1 da tupla, isto é, o segundo elemento e o resultado do comando print será: banana Em uma tupla, os elementos não são modificáveis, logo ao executar o seguinte código: estatupla = (“maçã”, “banana”, “cereja”) estatupla[1] = “abacaxi” print(estatupla[1]) O comando da segunda linha não irá retornar nenhum erro, mas também não irá modificar a tupla. Assim, o resultado do comando print será: ('maçã', 'banana', 'cereja') Os principais métodos aplicáveis a tuplas são exibidos a seguir: Função O que faz? Exemplo tuple() Constrói uma tupla passando-se os elementos estatupla = tuple(("maçã", "banana", "uva")) len() Retorna o número de elementos em uma tupla estatupla = tuple(("maçã", "banana", "uva")) print(len(estatupla)) #retorna 3 Esquema 17 – Principais funções para tuplas em Python. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 35 de 87 www.exponencialconcursos.com.br Conjuntos (Sets) em Python Um Conjunto (Set) é uma coleção desordenda e não indexada. Em Python, elas são escritas entre chaves {}. O código a seguir representa a criação de um conjunto com três elementos: esteconjunto = {“maçã”, “banana”, “cereja”} print(esteconjunto) O resultado do comando print poderá ser: {'maçã', 'banana', 'cereja'} ou {'banana', 'maçã', 'cereja'} ou {'maçã', 'cereja', 'banana'} ou Estes elementos em qualquer outra ordem. Os principais métodos aplicáveis a conjuntos são exibidos a seguir: Função O que faz? Exemplo set() Constrói um conjunto passando- se os elementos esteset = set(("maçã", "banana", "uva")) len() Retorna o número de elementos em um conjunto esteset = set(("maçã", "banana", "uva")) print(len(esteset)) #retorna 3 add() Adiciona um item ao conjunto esteset = set(("maçã", "banana", "uva")) esteset.add("cereja") print(esteset) #retorna {"maçã", "banana", "uva", “cereja”} em qualquer ordem. remove() Remove um item de um conjunto esteset = set(("maçã", "banana", "uva")) esteset.remove("banana") print(esteset) #retorna {"maçã", "uva"} em qualquer ordem. Esquema 18 – Principais funções para conjuntos em Python. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 36 de 87 www.exponencialconcursos.com.br Dicionários (Dictionaries) em Python Um Dicionário (Dictionary) é uma coleção desordenda, modificável e indexada. Em Python, elas são escritas entre chaves {}, mas com pares chave e valor. O código a seguir representa a criação de um dicionário com três elementos: estedicionario = { “maçã”: “vermelho”, “banana”: “amarelo”, “cereja”: “vermelho” } print(estedicionario) O resultado do comando print será: {‘maçã’: ‘vermelho’, ‘banana’: ‘amarelo’, ‘cereja’: ‘vermelho’} Os elementos de um dicionário podem ser acessados por meio da chave. Logo: estedicionario = { “maçã”: “vermelho”, “banana”: “amarelo”, “cereja”: “vermelho” } estedicionario[“maça”] = “verde” print(estedicionario) O comando da penúltima linha irá acessar o elemento com chave “maçã” e trocar o seu valor por “verde” e o resultado do comando print será: {‘maçã’: ‘verde’, ‘banana’: ‘amarelo’, ‘cereja’: ‘vermelho’} Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 37 de 87 www.exponencialconcursos.com.br Os principais métodos aplicáveis a dicionários são exibidos a seguir: Função O que faz? Exemplo dict() Constrói um dicionário passando- se os elementos estedicionario= dict(maçã="vermelho", banana="amarelo", cereja="vermelho") len() Retorna o número de elementos em um dicionário estedicionario= dict(maçã="vermelho", banana="amarelo", cereja="vermelho") print(len(estedicionario)) #retorna 3 add() Adiciona um item ao dicionário. estedicionario= dict(maçã="vermelho", banana="amarelo", cereja="vermelho") estedicionario[”uva”] = ”verde” print(estedicionario) #retorna {‘maçã’: ‘verde’, ‘banana’: ‘amarelo’, ‘cereja’: ‘vermelho’, ‘uva’: ‘verde’} del() Remove um item de um dicionário estedicionario= dict(maçã="vermelho", banana="amarelo", cereja="vermelho") del(estedicionario[”banana”]) print(estedicionario) #retorna {‘maçã’: ‘verde’, ‘cereja’: ‘vermelho’} Esquema 19 – Principais funções para dicionários em Python. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 38 de 87 www.exponencialconcursos.com.br Condições em Python Um dos principais grupos de comandos presentes em qualquer linguagem de programação é o dos comandos condicionais. Estes comandos garantem que os programas realizem decisões baseadas em determinadas condições. Geralmente essas condições são testadas com declarações if e laços de repetição. O comando if testa uma condição e retorna True se está condição for verdadeira. Vejamos um exemplo de código com uma condição usando a estrutura if: a = 33 b = 200 if b > a: print("b é maior que a") O resultado do comando print será: b é maior que a Como já citamos, o Python depende da identação para estabelecer os blocos de código. Assim, as declarações em novas linhas devem obedecer ao recuo: a = 33 b = 200 if b > a: print("b é maior que a") O resultado do comando print será: b é maior que a Caso o recuo não seja obedecido, ocorrerá um erro: a = 33 b = 200 if b > a: print("b é maior que a") O resultado do comando print será: IndentationError: expected an indented block Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 39 de 87 www.exponencialconcursos.com.br Outro comando para condição no Python é o elif, que significa que se a condição anterior não é satisfeita, então teste outra condição. a = 33 b = 33 if b > a: print("b é maior que a") elif a == b: print (“a é igual a b”) O resultado deste código será: a é igual a b Existe outro comando que é usado para quando nenhuma das condições anteriores for satisfeita, o else. Vejamos um código: a = 200 b = 33 if b > a: print("b é maior que a")elif a == b: print (“a é igual a b”) else: print(“a é maior que b”) O resultado deste código será: a é maior que b Assim, Esquema 20 – Condições em Python. if •Testa uma condição elif •Testa outra condição se a anterior não for satisfeita else •Executado quando nenhuma das condições for satisfeita Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 40 de 87 www.exponencialconcursos.com.br Loops com while em Python O Python apresenta dois comandos primitivos para laços: o while e o for. Com o comando while, é possível realizar um conjunto de instruções enquanto uma condição permanecer verdadeira. Vejamos um exemplo de código com um loop while: i = 1 while i < 6: print (i) i+=1 O resultado do comando print será: 1 2 3 4 5 O que acontece que a cada vez que o código executa o bloco while, ele exibe o valor de i na tela por meio do comando print e incrementa (adiciona) em 1 a variável i (através de i+=1 que é equivalente a i = i +1). Quando i deixa de obedecer a condição, isto é, deixa de ser menor que 6, não mais se executam os comandos que estão neste bloco while. Podemos usar os comandos break e continue para forçar paradas na execução de um bloco while. O comando break para a execução do loop mesmo que a condição do while permaneça verdadeira. i = 1 while i < 6: print (i) if i == 3: break i+=1 O resultado do comando print será: 1 2 3 Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 41 de 87 www.exponencialconcursos.com.br Neste caso, o comando while foi executado até que a condição testada no if fosse satisfeita, ou seja, até que i tivesse o valor 3. Quando esta condição foi satisfeita, então o comando break foi executado forçando a parada do loop while. O comando continue para a execução iteração (rodada) corrente e continua com a próxima. i = 0 while i < 6: i+=1 if i == 3: continue print (i) O resultado do comando print será: 1 2 4 5 6 Note que neste caso, somente não foi exibido o número 3, pois o comando continue foi aplicado em um if testando se o i é igual a 3. Portanto, quando o i foi igual a 3, então o continue pulou os demais comandos do loop while (no caso o print) e foi para a próxima iteração. Esquema 21 – Loop com while em Python. while Realiza um conjunto de instruções enquanto uma condição for verdadeira break Para a execução do loop mesmo que a condição do while permaneça verdadeira continue Para a execução iteração (rodada) corrente e continua com a próxima Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 42 de 87 www.exponencialconcursos.com.br 10- (CESPE - 2013 - MS - Analista Administrativo) No que diz respeito à linguagem de programação e às linguagens de script, julgue os itens a seguir. >>> a,b = 0,1 >>> while b < 10: print (b) a, b = b, a+b Considerando-se o código acima, escrito na linguagem Python, é correto afirmar que 1 1 2 3 5 8 é o resultado do referido código. Resolução: Vamos entender o código usando os comentários do Python: >>> a,b = 0,1 #Aqui a é criada com o valor 0 e b com o valor 1. >>> while b < 10: #Loop while com condição b < 10. print (b) #Exibir o valor de b. a, b = b, a+b #a recebe o valor de b e b recebe o valor de a+b. Agora vamos executar o código passo a passo: Execução Valor de a Valor de b Teste no while Saída do print Criação das variáveis a,b = 0,1 0 1 - - 1ª iteração no while b < 10 (1 < 10) 0 1 True 1 a, b = b, a+b 1 1 - - 2ª iteração no while b < 10 (1 < 10) 1 1 True 1 a, b = b, a+b 1 2 - - 3ª iteração no while b < 10 (2 < 10) 1 2 True 2 a, b = b, a+b 2 3 - - 4ª iteração no while b < 10 (2 < 10) 2 3 True 3 a, b = b, a+b 3 5 - - 5ª iteração no while b < 10 (5 < 10) 3 5 True 5 a, b = b, a+b 5 8 - - 6ª iteração no while b < 10 (8 < 10) 5 8 True 8 a, b = b, a+b 8 13 - - 7ª iteração no while b < 10 (13 < 10) 8 13 False - Gabarito: Certo. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 43 de 87 www.exponencialconcursos.com.br 11- (CESPE - 2010 - INMETRO - Pesquisador - Desenvolvimento de Sistemas) >>> a,b = 0,2 >>> while b < 20: a, b = b, a+b+1 print (b) Assinale a opção que apresenta a sequência correta de números impressos no console de um interpretador Python durante a execução dos comandos acima. a) 1, 1, 2, 3, 5, 8 b) 2, 2, 4, 6 c) 2, 3, 6 d) 3, 3, 6, 10, 17, 28 e) 3, 6, 10, 17, 28 Resolução: Vamos entender o código usando os comentários do Python: >>> a,b = 0,2 #Aqui a é criada com o valor 0 e b com o valor 2. >>> while b < 10: #Loop while com condição b < 20. a, b = b, a+b+1 #a recebe o valor de b e b recebe o valor de a+b+1. print (b) #Exibir o valor de b. Agora vamos executar o código passo a passo: Execução Valor de a Valor de b Teste no while Saída do print Criação das variáveis a,b = 0,2 0 2 - - 1ª iteração no while b < 20 (2 < 20) 0 2 True - a, b = b, a+b+1 2 3 - 3 2ª iteração no while b < 20 (3 < 20) 2 3 True - a, b = b, a+b+1 3 6 - 6 3ª iteração no while b < 20 (6 < 20) 3 6 True - a, b = b, a+b+1 6 10 - 10 4ª iteração no while b < 20 (10 < 20) 6 10 True - a, b = b, a+b+1 10 17 - 17 5ª iteração no while b < 20 (17 < 20) 10 17 True - a, b = b, a+b+1 17 28 - 28 6ª iteração no while b < 20 (27 < 20) 17 28 False - Gabarito: Letra E. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 44 de 87 www.exponencialconcursos.com.br Loops com for em Python Com o for, é possível iterar sobre uma sequência, isto é, é possível percorrer os elementos de uma sequência. Com um loop for, podemos executar um conjunto de comandos para cada um dos itens de uma lista, tupla, conjunto, etc. Vejamos um exemplo de código com o loop for: frutas = [“maçã”, “banana”, “cereja”] for x in frutas: print (x) O resultado do comando print será: maçã banana cereja Note que serão percorridos todos os elementos da lista, sendo que o bloco de comandos dentro do for será executado para cada um deles. Os comandos break e continue também podem ser usados para forçar paradas na execução de um bloco for. O comando break para a execução do loop antes de percorrer os demais elementos. frutas = [“maçã”, “banana”, “cereja”] for x in frutas: if x == “banana”: break print (x) O resultado do comando print será: maçã Neste caso, ao testar a condição x == “banana” no segundo elemento da lista, o código irá executar o comando break, parando a iteração do loop e não executando os demais comandos que estão no bloco. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 45 de 87 www.exponencialconcursos.com.br O comando continue para a execução iteração (rodada) corrente e continua com a próxima. frutas = [“maçã”, “banana”, “cereja”] for x in frutas: if x == “banana”: continue print (x) O resultado do comando print será: maçã cereja Neste caso, ao testar o comando if quando x é igual a “banana”, a iteração corrente é ignorada e, portanto, não serão executados os demais comandos do for. Contudo, diferentemente do break, a próxima iteração do for é realizada. Esquema 22 – Loop com for em Python. for Realiza um conjunto de instruções para cada item de uma sequência (list, set, tuple, etc). break Para a execução do loop antes de percorrer os demais elementos. continue Para a execução iteração (rodada) corrente e continuacom a próxima. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 46 de 87 www.exponencialconcursos.com.br Funções em Python Uma função é um bloco de código que pode ser executada quando é chamada. Em Python, uma função pode ser definida com o uso da palavra def. def minha_funcao(): print(“Oi para minha função”) Para chamar uma função, basta usar o nome da função seguido de parênteses: minha_funcao() Ao chamar uma função, serão executados os comandos usados na definição da função. Neste exemplo, teremos o seguinte resultado exibido: Oi para minha função Uma função pode receber um conjunto de parâmetros. Os parâmetros são especificados depois do nome da função, dentro dos parênteses. É possível adicionar diversos parâmetros, separando-os por vírgulas. Vejamos um exemplo de uma definição de uma função parametrizada e de várias chamadas a ela modificando-se o parâmetro: def minha_funcao(nome): print(“Olá ” + nome) minha_funcao(“Rodrigo”) minha_funcao(“Pedro”) minha_funcao(“Lara”) Ao executar essas três chamadas, teremos o seguinte resultado exibido: Olá Rodrigo Olá Pedro Olá Lara É possível definir também um valor padrão para os parâmetros, que serão utilizados caso não sejam informados no momento da chamada da função. Caso seja informado um valor, o valor padrão é desconsiderado. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 47 de 87 www.exponencialconcursos.com.br Vejamos um trecho de código definindo uma função com um valor padrão para um parâmetro. def minha_funcao(cidade = “Fortaleza”): print(“Eu sou de ” + cidade) minha_funcao(“Brasília”) minha_funcao() minha_funcao(“Florianópolis”) Ao executar essas três chamadas, teremos o seguinte resultado exibido: Eu sou de Brasília Eu sou de Fortaleza Eu sou de Florianópolis Perceba que quando chamamos a função passando um valor para o parâmetro, ele é utilizado na saída. Se chamarmos a função sem passar parâmetro, será usado o valor definido como padrão. Uma função pode executar um conjunto de comandos sem nenhum retorno, mas pode também realizar um processamento e retornar um valor. Para definir um retorno para uma função, usa-se a palavra return seguida do valor a ser retornado. Vejamos: def minha_funcao(x): return 5 * x print(minha_funcao(1)) print(minha_funcao(2)) print(minha_funcao(3)) Ao executar esses comandos, teremos o seguinte resultado exibido: 5 10 15 Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 48 de 87 www.exponencialconcursos.com.br Em Python, a palavra-chave lambda é usada para criar o que é conhecido como funções anônimas. Estas são essencialmente funções sem nome pré-definido. Eles são úteis para a construção de funções adaptáveis e, portanto, úteis para a manipulação de eventos. Vejamos um exemplo de uma função lambda: minha_funcao = lambda i: i*2 print(minha_funcao(2)) Ao executar esses comandos, teremos o seguinte resultado exibido: 4 Vamos esquematizar os principais aspectos das funções em Python: Esquema 23 – Funções em Python. Funções •Bloco de código que pode ser executada quando é chamada. •Definida com def. •Ex.: def minha_funcao(): Parâmetros •Uma função pode receber um conjunto de parâmetros •Especificados dentro dos parêntesis. •Ex.: def minha_funcao(nome): •Valores padrão podem ser definidos. •Ex.: def minha_funcao(cidade = “Fortaleza”): Retorno •Definido com return. •Ex.: def minha_funcao(x): • return 5 * x Funções anônimas •Funções sem nome pré-definido. •Definida com lambda. •Ex..: minha_funcao = lambda i: i*2 Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 49 de 87 www.exponencialconcursos.com.br 12- (CESPE - 2013 - FUB - Analista de Tecnologia da Informação) Julgue o item que se segue, acerca de linguagens de programação. Na linguagem Phyton, uma função lambda atribui à nova função o nome que está no cabeçalho, em vez de retorná-la como resultado. Resolução: Ao executar lambda, Python retorna uma função ao invés de atribuí-la à um nome como acontece com def, por isso são anônimas. Em Python, a palavra-chave lambda é usada para criar o que é conhecido como funções anônimas. Estas são essencialmente funções sem nome pré- definido. Eles são úteis para a construção de funções adaptáveis e, portanto, úteis para a manipulação de eventos. Gabarito: Errado. 13- (FCC - 2014 - TRT - 13ª Região (PB) - Técnico Judiciário - Tecnologia da Informação) Considere o código abaixo digitado em Python. ..I... I contar(n): a = 1 while a < n: print a, a = a+1 contar(10) Preenche, corretamente, a lacuna I: a) function b) def c) procedure d) public e) void Resolução: Uma função é um bloco de código que pode ser executada quando é chamada. Em Python, uma função pode ser definida com o uso da palavra def. Gabarito: Letra B. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 50 de 87 www.exponencialconcursos.com.br 14- (IF-CE - 2017 - IF-CE - Técnico de Laboratório - Informática) Considere o trecho do programa Python abaixo. Os valores impressos, ao se executar o programa, são, respectivamente, a) 1 e 1. b) 10. c) 1 e 10. d) 10 e 1. e) 10 e 10. Resolução: Vamos verificar o que é executado em cada uma das linhas do código: def func(): #Definição da função func(). Só será executada quando chamada. x = 1 #Criação de variável x com valor 1. print (x) #Comando para exibir o valor de x. x = 10 #Criação de variável x com valor 10. func() #Chamada a função func(). O código definido nesta função só será #executado agora. Então teremos a criação da variável x dentro da função com #o valor 1 e a exibição desse valor. O x criado dentro da função só vale para #dentro da função é não substitui o x criado na linha anterior com o valor 10. #São duas variáveis diferentes. print(x) #Exibir o valor de x que é 10. Gabarito: Letra C. Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 51 de 87 www.exponencialconcursos.com.br Classes e objetos em Python Python é uma linguagem orientada a objetos. Quase tudo em Python é um objeto com propriedades e métodos. Uma classe representa um conjunto de objetos com características afins. Uma classe define o comportamento dos objetos através de seus métodos, e quais estados ele é capaz de manter através de seus atributos. Um objeto, em programação orientada a objetos, é uma instância (ou seja, um exemplar) de uma classe. Assim, por exemplo, podemos ter uma classe Carro e vários objetos dessa classe como mercedez, ferrari, bmw, entre outros. Para criar uma classe, utiliza-se a palavra-chave class. Assim, class MinhaClasse: x = 5 Para criar um objeto de uma classe, basta iniciar uma variável com uma chamada a classe, semelhante a uma chamada de método. p1 = MinhaClasse() print(p1.x) O resultado do comando print será: 5 Neste caso, p1.x acessa o atributo x do objeto p1 que é do tipo MinhaClasse. Para inicializar os atributos de um objeto, podemos usar o método __init__() que sempre é executado quando uma classe é instanciada em um objeto. Vejamos um exemplo: class Person: def __init__ (self, name, age): self.name = name self.age = age p1 = Person (“John”, 36) print (p1.name) print (p1.age) Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 52 de 87 www.exponencialconcursos.com.br O resultado do comando print será: John 36 O parâmetroself (que pode ser com outro nome) é uma referência para a própria classe e é usado para acessar as variáveis que pertencem a classe. Este parâmetro deve ser o primeiro de qualquer função em uma classe. Para modificar um atributo de uma classe, basta acessá-lo através de . p1.age = 40 Para deletar atributos, basta usar a palavra-chave del, selecionando o atributo desejado. del p1.age E para deletar o objeto como um todo, também basta usar del, mas sem indicar nenhum atributo. del p1 Esquema 24 – Orientação a objetos em Python. •Conjunto de objetos com características afins. •Define métodos e atributos.Classe •Instância (ou seja, um exemplar) de uma classe.Objeto •Executado sempre que a classe é instanciada. •Pode ser usado para inicializar atributos.__init__ •Modicar: objeto.atributo = valor •Deletar atributo: del objeto.atributo •Deltar objeto: del objeto Modificar e deletar Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 53 de 87 www.exponencialconcursos.com.br 3. PROGRAMAÇÃO EM R 3.1 Introdução ao R R é uma linguagem e também um ambiente de desenvolvimento integrado para cálculos estatísticos e gráficos. O código fonte do R está disponível sob a licença GNU GPL e as versões binárias pré-compiladas são fornecidas para Windows, Macintosh, e muitos sistemas operacionais Unix/Linux. R é também altamente expansível com o uso dos pacotes, que são bibliotecas para sub-rotinas específicas ou áreas de estudo específicas. A R disponibiliza uma ampla variedade de técnicas estatísticas e gráficas, incluindo modelação linear e não linear, testes estatísticos clássicos, análise de séries temporais (time-series analysis), classificação, agrupamento e outras. A R é facilmente extensível através de funções e extensões, e a comunidade R é reconhecida pelos seus contributos ativos em termos de pacotes. A R é uma linguagem interpretada tipicamente utilizada através de um Interpretador de comandos. Se um usuário escreve "2+2" no comando de inserção e pressiona enter, o computador responde com "4". Esquema 25 – Linguagem R. R Linguagem e ambiente de desenvolvimento Cálculos estatísticos e gráficos Altamente expansível com uso de pacotes Linguagem interpretada Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 54 de 87 www.exponencialconcursos.com.br 3.2 Sintaxe básica R como calculadora O R pode facilmente funcionar como uma calculadora, assim você pode resolver operações ou expressões matemáticas com o uso dessa linguagem. Vejamos alguns exemplos: 1 + 1 # adição ## [1] 2 4 - 2 # subtração ## [1] 2 2 * 3 # multiplicação ## [1] 6 5 / 3 # divisão ## [1] 1.666667 4 ^ 2 # potência ## [1] 16 5 %% 3 # resto da divisão de 5 por 3 ## [1] 2 5 %/% 3 # parte inteira da divisão de 5 por 3 ## [1] 1 Se você digitar um comando incompleto, como 5 +, e apertar Enter, o R mostrará um +. Isso significa que o R está esperando que você complete o seu comando. Termine o seu comando ou aperte Esc para recomeçar. > 5 - + + 5 [1] 0 Se você digitar um comando que o R não reconhece, ele retornará uma mensagem de erro, mas você pode digitar outro comando normalmente em seguida. > 5 % 5 Error: unexpected input in "5 % 5" > 5 - 5 [1] 0 Esquema 26 – R como calculadora. Resolve operações ou expressões matemáticas Para comando incompleto, R mostra um sinal de + esperando você completar Adição (+); Subtração (-); Multiplicação (*); Divisão (/); Potência (^); Resto da divisão (%%); Parte inteira da divisão (%/%) Para comando não reconhecido, aparece mensagem de erro R como calculadora Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 55 de 87 www.exponencialconcursos.com.br Objetos em R O R permite salvar dados dentro de um objeto. Para isso, basta utilizar o operador <-. Assim, a <- 1 a ## [1] 1 Neste caso, houve a atribuição do valor 1 para o objeto a. Existem cinco classes básicas ou “atômicas” no R: ▪ character "a" ## [1] "a" "1" ## [1] "1" "positivo" ## [1] "positivo" "Error: objeto x não encontrado" ## [1] "Error: objeto x não encontrado" ▪ numeric 1 ## [1] 1 0.10 ## [1] 0.1 0.95 ## [1] 0.95 pi ## [1] 3.141593 ▪ integer 1L ## [1] 1 5L ## [1] 5 10L ## [1] 10 ▪ complex 2 + 5i ## [1] 2+5i ▪ logical TRUE ## [1] TRUE FALSE ## [1] FALSE Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 56 de 87 www.exponencialconcursos.com.br Para saber qual a classe de um objeto, temos a função class(): x <- 1 class(x) ## [1] "numeric" y <- "a" class(y) ## [1] "character" z <- TRUE class(z) ## [1] "logical" Esquema 27 – Objetos em R. Objetos Tipos character "a"; "x" numeric 1; 0.10 integer 1L; 10L complex 2 + 5i logical TRUE; FALSE Permite salvar dados Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 57 de 87 www.exponencialconcursos.com.br Vetores em R Vetores no R são os objetos mais simples que podem guardar objetos atômicos. Um vetor tem sempre a mesma classe dos objetos que guarda. vetor1 <- c(1, 2, 3, 4) vetor2 <- c("a", "b", "c") vetor1 ## [1] 1 2 3 4 vetor2 ## [1] "a" "b" "c" É possível realizar operações com vetores de forma simples: vetor1 - 1 ## [1] 0 1 2 3 Neste caso, o R subtrai 1 de cada elemento do vetor. Se colocarmos duas ou mais classes diferentes dentro de um mesmo vetor, o R vai forçar que todos os elementos passem a pertencer à mesma classe. O número 1.7 viraria "1.7" se fosse colocado ao lado de um "a". Se o R não entender como coagir uma classe na outra, ele soltará um warning informado que colocou NA no lugar. A ordem de precedência é: DOMINANTE character > complex > numeric > integer > logical RECESSIVO Matrizes em R Matrizes são vetores com duas dimensões (e por isso só possuem elementos de uma mesma classe). m <- matrix(1:6, nrow = 2, ncol = 3) m ## [,1] [,2] [,3] ## [1,] 1 3 5 ## [2,] 2 4 6 dim(m) # funçăo dim() retorna a dimensăo do objeto. ## [1] 2 3 Algumas operações úteis são: m[3, ] # seleciona a terceira linha m[ , 2] # seleciona a segunda coluna m[1, 2] # seleciona o primeiro elemento da segunda coluna t(m) # matriz transposta m %*% n # multiplicação matricial solve(m) # matriz inversa de m Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 58 de 87 www.exponencialconcursos.com.br Fatores em R Fatores podem ser vistos como vetores de inteiros que possuem rótulos (levels). sexo <- c("M", "H", "H", "H", "M", "M", "H") fator <- as.factor(sexo) fator ## [1] M H H H M M H ## Levels: H M as.numeric(fator) ## [1] 2 1 1 1 2 2 1 A função levels() retorna os rótulos do fator: levels(fator) ## [1] "H" "M" Listas em R Listas são um tipo especial de vetor que aceita elementos de classes diferentes. x <- list(1:5, "Z", TRUE, c("a", "b")) x ## [[1]] ## [1] 1 2 3 4 5 ## ## [[2]] ## [1] "Z" ## ## [[3]] ## [1] TRUE ## ## [[4]] ## [1] "a" "b" Curso: Noções de Informática Teoria e Questões comentadas Prof. Ramon Souza Prof. Ramon Souza 59 de 87 www.exponencialconcursos.com.br Vamos esquematizar os vetores, matrizes e fatores: Esquema 28 – Vetores, Matrizes, Fatores e Listas em R. Vetores Objetos mais simples para guardar objetos atômicos. Mesma classe dos objetos que guarda Se tiver objetos de mais de uma classe: character > complex > numeric > integer > logical vetor1 <- c(1, 2, 3, 4) Matrizes Vetores
Compartilhar