Escriturário Informática Parte 13 Prof. Márcio Hunecke
Informática PYTHON 3.6 Python é uma linguagem de programação de alto nível (longe do código de máquina e mais próximo à linguagem humana), interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em 1991. Atualmente possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation (PSF). Apesar de várias partes da linguagem possuir padrões e especificações formais, a linguagem como um todo não é formalmente especificada. Foi fortemente influenciada pelas linguagens ABC e Java e pode ser executada em qualquer plataforma, inclusive tem IDE de desenvolvimento para Smartphones Android (QPython). A linguagem foi projetada com a filosofia de enfatizar a importância do esforço do programador sobre o esforço computacional. Prioriza a legibilidade do código sobre a velocidade ou expressividade. Combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padrão (conceito Battery Included) e por módulos e frameworks desenvolvidos por terceiros. Python é uma linguagem de propósito geral de alto nível, multiparadigma, suporta o paradigma orientado a objetos, imperativo, funcional e procedural. Possui tipagem dinâmica e uma de suas principais características é permitir a fácil leitura do código e exigir poucas linhas de código se comparado ao mesmo programa em outras linguagens. Devido às suas características, ela é principalmente utilizada para processamento de textos e dados científicos. O nome Python teve a sua origem no grupo humorístico britânico Monty Python, criador do programa Monty Python's Flying Circus, embora muitas pessoas façam associação com o réptil do mesmo nome (em português, píton). Características gerais da linguagem Linguagem se caracteriza pela Simplicidade. Interpretador já vem no MacOs e Linux. Para Windows é necessário fazer download dos binários da IDE de desenvolvimento padrão do Python, o IDLE. Outra IDE, com mais recursos é PyCharm Community. Códigos podem ser reaproveitados salvando-os em scripts com a extensão *.py. Variáveis não precisam ser declaradas como string, boolean, int ou float (números não inteiros), pois o interpretador identifica o conteúdo e faz a declaração. www.acasadoconcurseiro.com.br 3
A atribuição de variáveis é realizada com o sinal de =. O operador de comparação igual é representado como ==. Para representar exponenciação usamos **. Ex.: 3 ao quadrado, representamos como: 3**2 Para testes simples na versão 2.7.10, não é necessário instalar nada (nem interpretador / binários nem as IDEs). Podemos rodar comandos Python usando o navegador na URL: https://repl.it/repls/optimalnoisysemicolon A linguagem é muito utilizada para cálculos Arrays ou Listas, conforme exercícios abaixo. A indentação é uma característica peculiar na linguagem. Enquanto que os blocos são delimitados explicitamente em C, Java e PHP por chaves e em Pascal e Fortran por palavras- -chave como then e endif, em Python blocos são delimitados por espaços ou tabulações formando uma indentação visual; não existem símbolos de abre e fecha. Python requer uma indentação padronizada. Em outras linguagens, como JavaScript, a indentação não é necessária devido aos delimitadores de blocos, sendo utilizada somente para melhor visualização. Ao se usar um editor de texto comum, é fácil haver erros de indentação, sendo conveniente configurar o editor para a indentação do Python. As IDEs que suportam Python têm, em geral, a função de indentação automática. 4 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Henecke Questões comentadas em aula 1. Dado o código em Python abaixo, assinale a alternativa que contém a saída CORRETA gerada pelo print : a) galinha b) ga c) t d) gato e) to Obs.: O contagem do índice nos arrays / listas SEMPRE INICIA EM 0 (zero). Comentário: A questão irá apresentar o caractere com índice 2, do elemento com índice 3. Elemento 3 é gato e a letra com índice 2 é t. Esta é a questão 11 abaixo. 2. Analise o trecho de código escrito em Python versão 3 a seguir: dados = [[ maria,18], [ carlos,16], [ alex,17], [ sandra,15]] for i in dados: print(i[1]) Marque a alternativa que apresenta a saída impressa no console. b) 18 16 17 15 Comentário: A questão irá apresentar o elemento com índice 1 de cada item da lista, ou seja, as idades (números), pois os nomes são os elementos com índice 0 (zero). As idades aparecerão na mesma ordem que estão na lista. Esta é a questão 19 abaixo. www.acasadoconcurseiro.com.br 5
Questões 1. (2017 PUC-PR TJ-MS Técnico de Nível Superior Analista de Infraestrutura de Rede) Dentre as seguintes funções, a que serve para converter um caractere único no seu respectivo valor inteiro em Python é a) unichr (x) b) hex (x) c) ord (x) d) oct (x) e) chr (x) 2. (2017 FUNCERN IF-RN Professor Sistemas de Informação) Observe os seguintes comandos em Python: Ao término da execução da última linha, o programa deverá imprimir a) [2, 9, 1, 0] b) [2, 9, 0, 5] c) [2, 0, 1, 5] d) [0, 9, 1, 5] 3. (2017 FUNCERN IF-RN Professor Sistemas de Informação ) Em relação às estruturas de controles da linguagem de programação Python, a palavra a) pass tem o mesmo efeito que a palavra continue do C++. b) elif vem acompanhada de parênteses e dois pontos. c) null representa o tipo para objetos nulos. d) else pode ser usada opcionalmente junto ao laço while ou for. 4. (2017 NC-UFPR 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: www.acasadoconcurseiro.com.br 7
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. 5. (2017 COSEAC UFF Técnico de Tecnologia da Informação) São exemplos de frameworks, linguagem de programação ou tecnologia que, quando utilizados isoladamente, geram páginas dinâmicas: a) Fortran e JSP. b) HTML e PHP. c) CSS e HTML. d) HTML e Javascript. e) Python e ASP. 6. (2017 IF-CE IF-CE Técnico de Laboratório Informática) Analise o código Python (versão 3) mostrado a seguir. Ao final da execução desse código, os valores, na variável lista, estarão a) removidos da variável, devido a um erro no código. b) ordenados de forma crescente. c) ordenados de forma decrescente. d) embaralhados, não sendo possível prever a ordem dos valores. e) duplicados, devido a um erro no código. 8 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Hencke 7. (2017 IF-CE 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. 8. (2017 IF-CE Técnico de Laboratório Informática) Considere as afirmações sobre os paradigmas de linguagens de programação. I Python, Ruby e Java são linguagens de programação interpretada multiparadigma, de tipagem dinâmica e forte. II As linguagens de programação Object-Pascal, C++ e Java, embora deem suporte à Orientação a Objetos (OO), não são completamente orientadas a objetos. III As linguagens de programação Smalltalk e Ruby são consideradas puramente orientadas a objetos, isto é, tudo é considerado um objeto, até mesmo os tipos básicos da linguagem. Está(ão) correta(s): a) II, apenas. b) I, II e III. c) III, apenas. d) I e II, apenas. e) II e III, apenas. www.acasadoconcurseiro.com.br 9
9. (2017 IFB IFB Professor Informática/ Desenvolvimento de Sistemas) Com relação a Algoritmos e Estrutura de Dados, dadas as afirmações abaixo, segundo Farrer (1999), assinale a alternativa CORRETA: a) Python é uma linguagem compilável, a qual, após esse processo, gera um arquivo executável, do tipo binário. b) A declaração de variáveis é algo obrigatório em Python. c) Python é uma linguagem procedural a qual não contempla orientação a objetos. d) Listas, em Python, são conjuntos de valores, os quais só podem ser do mesmo tipo, acessados por um índice numérico que inicia em 0 (zero). e) Em comandos condicionais ou de repetição, a separação de blocos de código em Phyton é feita utilizando a indentação. 10. (2017 IFB IFB Professor Informática/ Desenvolvimento de Sistemas) Dado o código em Python abaixo, assinale a alternativa que contém a sequência CORRETA de números da saída gerada pelos comandos print : a) 64, 32, 1024, 1024, 512 b) 32, 16, 512, 1024, 256 c) 64, 32, 512, 1024, 256 d) 64, 32, 1024, 1024, 256 e) 32, 16, 512, 1024, 512 11. (2017 IFB IFB Professor Informática/ Desenvolvimento de Sistemas) Dado o código em Python abaixo, assinale a alternativa que contém a saída CORRETA gerada pelo print : a) galinha b) ga c) t d) gato e) to 10 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Hencke 12. (2016 MS CONCURSOS Creci 1º Região (RJ) Analista de TI) Qual alternativa representa a declaração de uma variável do tipo texto, na linguagem de programação Python? a) var valor = 3; b) boolean inicio = falso; c) textp = "texto de exemplo"; d) int i = 1; 13. (2016 IF-PE 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. d) candidatos[-2] retornaria o penúltimo elemento da lista. e) candidatos.size() obtem o tamanho da lista. 14. (2016 COMPERVE UFRN Técnico de Tecnologia da Informação) Analise o trecho de código Python a seguir, escrito para a versão 2.6. v=range(10) temp=v[2:7:2] s=0 for n in temp: s+=n print(s) Após a execução do código Python, o valor da variável s impresso na tela é a) 6 b) 12 c) 20 d) 9 15. (2016 COMPERVE UFRN Técnico de Tecnologia da Informação) Analise o trecho de código Python a seguir, escrito para a versão 2.6. Após a execução do código Python, o valor da variável n impresso na tela é a) 12 b) 13 www.acasadoconcurseiro.com.br 11
c) 9 d) 20 16. (2016 UFMT UFMT Técnico de Tecnologia da Informação) Sobre as linguagens de programação mais utilizadas na academia e indústria, marque V para as afirmativas verdadeiras e F para as falsas. ( ) Os códigos-fontes em Python devem ser compilados pelo compilador Python que pode ser utilizado em ambientes Windows e Linux. ( ) A linguagem de programação C++ surgiu para substituir a linguagem C, pois C é obsoleta e não é mais utilizada. ( ) Java é uma linguagem de programação orientada a objetos que é executada em uma máquina virtual Java (JVM). ( ) As linguagens de programação C++, Python e Java utilizam o modelo de orientação a objetos. Assinale a sequência correta. a) V, V, F, F b) F, V, F, V c) V, F, V, F d) F, F, V, V 17. (2016 CESGRANRIO UNIRIO Técnico em Tecnologia da Informação) Considere o seguinte código em Python A saída na tela após a execução será a) Fulano m b) Fulano 2500.0 c) Fulano de Tal m d) Fulano de Tal 2500.0 e) Fulano de Tal m 2500.0 12 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Hencke 18. (2017 IFB IFB Professor Informática / Desenvolvimento de Sistemas) Analise o trecho de código escrito em Python versão 3 a seguir: Marque a alternativa que apresenta a saída impressa no console. a) 0 2.5 Alface 1 5.5 Batata 2 1.5 Chuchu 3 4.5 Tomate b) 0 Alface 2.5 1 Batata 5.5 3 Chuchu 1.5 4 Tomate 4.5 c) 0 Alface 2.5 1 Chuchu 1.5 2 Batata 5.5 3 Tomate 4.5 d) 1.5 0 Chuchu 2.5 1 Alface 4.5 2 Tomate 5.5 3 Batata e) Chuchu 1.5 0 Alface 2.5 1 Tomate 4.5 2 Batata 5.5 3 www.acasadoconcurseiro.com.br 13
19. (2017 IFB IFB Professor Informática / Desenvolvimento de Sistemas) Analise o trecho de código escrito em Python versão 3 a seguir: dados = [[ maria,18], [ carlos,16], [ alex,17], [ sandra,15]] for i in dados: print(i[1]) Marque a alternativa que apresenta a saída impressa no console. a) 15 16 17 18 b) 18 16 17 15 c) maria carlos alex sandra d) alex carlos maria sandra e) maria 18 carlos 16 alex 17 sandra 15 14 www.acasadoconcurseiro.com.br
Banco do Brasil - TI (Escriturário) Informática Márcio Hencke 20. (2015 UFPel-CES UFPEL Técnico em Tecnologia da Informação) Em relação às características da linguagem Python, é correto afirmar que a) tem suporte a herança múltipla e polimorfismo. b) é uma linguagem fortemente tipada, ou seja, é preciso declarar variáveis e seus tipos. c) deve ser usada, exclusivamente, para programação web. d) uma lista em Python é um conjunto de valores acessados por um índice numérico, inteiro, começando em 1. Assim como em outras linguagens, a lista pode armazenar apenas valores de um mesmo tipo. e) uma String Python é uma sequência imutável, alocada estaticamente, com restrição de tamanho. Gabarito: 1. C 2. A 3. D 4. D 5. E 6. D 7. C 8. E 9. E 10. A 11. C 12. C 13. D 14. B 15. C 16. D 17. B 18. C 19. B 20. A www.acasadoconcurseiro.com.br 15