SóProvas



Questões de Python


ID
6250
Banca
CESGRANRIO
Órgão
AL-TO
Ano
2005
Provas
Disciplina
Programação
Assuntos

O método capitalize da classe String do Python é utilizado para:

Alternativas
Comentários
  • The method capitalize() returns a copy of the string with only its first character capitalized. For 8-bit strings, this method is locale-dependent.

    Fonte: http://www.tutorialspoint.com/python/string_capitalize.htm
  • Esse tipo de questão pode ser resolvida usando o bom senso. Capitalizar é o ato de tornar a primeira letra de uma frase maiúscula. Na dúvida, a melhor resposta é a que faz mais sentido. E isso nem depende da linguagem de programação.

  • a) remover todos os espaços de uma string. trim

    b) Agora checando se ela contém apenas números.

    >>> '306090'.isdigit()

    True

    >>> '30-60-90 Triangle'.isdigit()

    False

    c) Uma fatia (slice) é um substring de um string.

    d, e) Lower, upper. Todas as letras são em minúsculas ou maiúsculas. Podemos alterar o caso de caracteres no Python com os métodos Lower, upper.


ID
130018
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação a servidores de web e de aplicação, julgue os
próximos itens.

Zope é um servidor de aplicações web em código aberto que armazena dados em um banco orientado a objetos chamado Python.

Alternativas
Comentários
  • Pelo que entendi, acredito que o erro da questão está na expressão "banco orientado a objetos chamado Python", pois o Python é uma linguagem de programação orientada a objetos e, não, banco de dados.

    Alguém que tiver mais conhecimento sobre o Zope e o Python poderia, por favor, confirmar?

    Obrigada.

  • Errado.

    Python não é banco orientado a objetos.

    Python é uma linguagem de programação de código aberto utilizada para desenvolver aplicações para diversos ambientes, e é estruturada no paradigma de programação orientada a objetos.

    Fonte: Administração de Rede com Scripts (Bash, Python e VBScript), Daniel Gouveia Costa, Editora Basport

  •  Zope é um ambiente para a construção e gerenciamento de aplicações Web com foco no seu conteúdo, um gerenciador de conteúdos. O Zope possui sua própria base de dados, o ZODB (Zope Object  Data Base), que é um banco de dados transacional orientado à objetos, podendo também interagir com outros bancos de dados relacionais como Oracle, MySQL, PostGreSQL, etc..
    Python é uma linguagem de programação de código aberto utilizada para desenvolver aplicações para diversos ambientes inclusive o próprio ZOPE.

  • Zope é um servidor de aplicações web de código aberto ESCRITO na linguagem Python.
  • Essa cespe.....
    Tentaram confundir dizendo que PYTHON é aonde ocorre o amarzenamento de dados. Mas seria o ZODB, no caso! PYTHON é a linguagem de programação que o ZOPE usa. 
  • GABARITO ERRADO

    Python suporta o paradigma orientado a objetos , não significa que essa programação seja um BANCO ORIENTADO A OBJETOS.

  • ERRADO

    ZOPE - OBJETOS

    DADOS NÃO!

  • ERRADA: Python virou Banco de Dados agora foi????


ID
130039
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Programação
Assuntos

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.

Alternativas
Comentários
  • Python é uma linguagem de programação de alto nível[4], interpretada, imperativa, orientada a objetos, de tipagem dinâmica e forte. Atualmente possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation.
  • Python é uma linguagem livre de alto nível, orientada a objetos e de difícil fácil leitura, pois não permite identação de linhas de código.

    Se a leitura é fácil ou difícil, isso depende da visão de cada programador, mas quanto a identação o enunciado está errado.

  • Sem identação não há python.

  • Gabarito: ERRADO

     

    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.

     

    Esse é o erro da questão, pois a indetação de linhas é obrigatória na linguagem Python.

     

    Um dos pontos principais de um código organizado é a indentação, o espaçamento que deixa claro o que é cada elemento no código permite que a sua visualização fique mais clara. Os recuos que separam classes e métodos fazem com que a escrita de centenas de linhas possa ser feita de forma muito precisa.

     

    Na maioria das linguagens de programação, a indentação é empregada com o objetivo de ressaltar a estrutura do algoritmo, aumentando assim a legibilidade do código. Em algumas linguagens, entretanto, a indentação é obrigatória. Python, Occam e Haskell, por exemplo, utilizam a mudança de indentação para definir a hierarquia dentre blocos de código.

  • PYTHON:

    - Dinamicamente tipado

    - Multi-paradigma

    - Sintaxe intuitiva

    - Interpretado

    -Tipos de dados de alto nível

    -Compromisso entre shell script e um programa C++/Java

    -Fácil de aprender a praticar

    -Fortemente usado no mercado: Google, Facebook(Instagram), Microsoft, Dropbox, Globo.com, etc.

    -Utilizando em várias áreas - web, data science, devops, automação, IA e muito mais.

    -Guido Van-Rossum, criador do Python 

    -Bonito é melhor que feio

    -Explícito é melhor do que implícito

    -Simples é melhor do que complexo

    -Complexo é melhor do que complicado

    -Legibilidade conta

  • Acredito que seja considerada de fácil leitura sim, comparada a outras. Vejam essa questão:

     

    (CESPE – 2018) Linguagem de programação de alto nível consiste de um conjunto de símbolos,
    palavras e regras próximo da linguagem humana, e que é fácil de escrever, depurar e manter.

    Gabarito Correto

  • Não tinha ideia do que a questão se tratava, mas colocou alguma restrição na capacidade do progroma, é sinal de erro.

  • Gabarito: Errado.

    Leitura fácil.

    Permite identação.

    Bons estudos!

  • Python é uma linguagem de alto nível e orientada a objetos.

    Porém, não é de difícil leitura (o objetivo das linguagens de alto nível é ser de fácil leitura e codificação). Além disso, é uma linguagem que não só permite a identação do código como a sua sintaxe é dependente da identação.

    Item errado.

  • Assertiva e

    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.

  • ERRADO

    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.

    Galera uma breve explicação sobre alto nível e baixo nível veja:

    Quanto mais alto e o nível da linguagem mais fácil e sua leitura pois ela e mais próxima da linguagem humana " mais fácil compreensão "

    Quanto mais baixo nível mais próximo da linguagem de maquina que o binário o famoso 0 e 1 e às unidades de bit .

    -----------------------------------------------------------------------------------------------------------------------------------------------------

    alto nível = humano

    baixo nível = máquina

    -----------------------------------------------------------------------------------------------------------------------------------------------------

    Python :

    alto nível

    interpretada

    permite a identação de linhas de código

    [...]

  • Fracionando o enunciado:

    Python é uma linguagem livre de alto nível→ Correto, linguagem de alto nível dentro da programação está ligada ao fato de ser uma linguagem de mais fácil compreensão para o usuário, neste caso, termos em inglês, traduzidos através de um interpretador. Já as linguagens ditas de "baixo nível" são linguagens que "o computador entende" (01010).

    orientada a objetos e de difícil leitura, pois não permite identação de linhas de código.→ O Python é conhecido por ser exatamente o contrário, de mais fácil leitura comparado a outras linguagens, com poucas ressalvas, capaz de verificar sintaxe de códigos. E permite sim a identação para que os códigos fiquem mais legíveis e organizados, na verdade no python ela é obrigatória.

  • gabarito : errado

    Possui tipagem dinâmica porque permite a alteração da variável durante a execução.

    Possui tipagem forte porque possui conversão implícita de tipos.

  • Alto nível de abstração = Poucos detalhes = entendimento mais próximo da linguagem natural.

  • Erradíssimo, vimos que Python é uma linguagem de alto nível sim, e de fácil leitura, por isso ela é chamada de linguagem de alto nível.

    Resposta: Errado

  • "Python é uma linguagem livre de alto nívelorientada a objetos e de difícil leitura, pois não permite identação de linhas de código."

    1º Alto nível = fácil leitura. Baixo nível = difícil leitura (0100101001)

    (CESPE – 2018) Linguagem de programação de alto nível consiste de um conjunto de símbolos, palavras e regras próximo da linguagem humana, e que é fácil de escrever, depurar e manter. (Correto)

    2º É obrigatória a identação para que os códigos fiquem mais legíveis e organizados

  • Traduzindo uma parte que já da pra matar a questão, para meus colegas que não são da área de T.I (Igual eu).

    Linguagem de programação possui níveis.

    Alto nível: Mais próximo da linguagem humana é

    Baixo nível: Mais longe da linguagem humana será. E mais perto da "linguagem das máquinas"

    Exemplo pra entender melhor: Abre o google ai. Abriu? blz.. Conseguiu ler tudo o que estava escrito? Se sim, linguagem de alto nível.

    Quer ver um baixo nível? Aperta f12 ai e traduz o que está escrito kkk Entendeu nada né? Porque está próximo a linguagem das máquinas, ou melhor, baixo nível

    (Claro que é só um exemplo, se quiser saber quais são as linguagens baixo/alto, cabe a você pesquisar kkk)

    Se é alto nível, então é de fácil leitura.

  • Victor Dalton | Direção Concursos

    Python é uma linguagem de alto nível e orientada a objetos.

    Porém, não é de difícil leitura (o objetivo das linguagens de alto nível é ser de fácil leitura e codificação). Além disso, é uma linguagem que não só permite a identação do código como a sua sintaxe é dependente da identação.

    Item errado.

  • Se você chegou aqui, parabens!

  • LINGUAGEM DE BAIXO NÍVEL: escrita

    LINGUAGEM DE ALTO NÍVEL: são fáceis de serem compreendidas

    O PYTHON É CONSIDERADA DE ALTO NÍVEL 

    Python é uma linguagem de tipagem forte e dinâmica, porque não possui conversão implícita de tipos e porque permite alterar o tipo de uma variável durante a execução do código. Por fim, essa linguagem de programação apresenta código-fonte agrupado por indentação. O que diabos é isso? Indentar é o recuo do texto em relação a sua margem! Em outras palavras, se antes de escrevermos uma instrução, utilizarmos quatro espaçamentos da margem esquerda até a instrução propriamente dita, podemos dizer que a indentação utilizada possui quatro espaços. Esse termo vem do inglês indentation e é bastante comum em linguagens de programação.

  • Python é de fácil leitura (alto nível, mais próxima da linguagem humana) e permite identação.

  • ABRIRAM OS PORTÕES DO INFERNO!

  • LINGUAGEM

    ALTO NIVEL = Mais próxima da linguagem humana.

    BAIXO NIVEL = Mais próxima da linguagem da maquina.

    • Python - Linguagem de alto nível
    • Orientada a objeto
    • De fácil leitura

  • aquela pra não zerar informática
  • Python: É uma linguagem de programação de alto nível, interpretada, imperativa, multiparadigma e de tipagem forte e dinâmica.

  • Erradíssimo, vimos que Python é uma linguagem de alto nível sim e, de fácil leitura, por isso ela é chamada de linguagem de alto nível.

    Resposta: Errado

  • Errado, conversamos em nossa aula que, a linguagem de programação Python é de fácil entendimento.

    Resposta: Errado

  • Questão de Pai ta on

  • 2 erros:

    "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."

    PYTHON:

    - Linguagem de alto nível (mais próxima de humano) – obs: a linguagem R também possui essa característica.

    - Linguagem de script (imperativa)

    - Linguagem interpretada (Não é necessário compilar os códigos, ou seja, não possui arquivo do tipo .exe)

    - Linguagem de fácil leitura e compreensão

    - O código pode ser executado por outros programas

    - É orientado a objetos

    - Possui classes e objetos

    - É case sensitive (diferencia letras M e m)

    - É possível utilizar JSON em programas desenvolvidos em Python

  • Python é uma linguagem livre de alto nível, orientada a objetos e de difícil leitura (fácil leitura), pois não permite identação (permite sim) de linhas de código.

    - Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada à objetos, funcional, de tipagem dinâmica e forte, e identação.


ID
210448
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Programação
Assuntos

Com relação a servidores de aplicação, julgue os próximos itens.

Zope é um servidor de aplicação open source desenvolvido utilizando-se exclusivamente a linguagem Python. O Zope possui banco de dados orientado a objetos integrado denominado Plone.

Alternativas
Comentários
  • Zope is a free and open-source, object-oriented web application server written in the Python programming language.

    Plone is a free and open source content management system built on top of the Zope application server.

    A primeira definição está correta. Já a segunta está errada pois o Plone não é um banco de dados (muito menos orientado a objeto) e sim um CMS (Content Management System), ou seja, Sistema de Gerência de Conteúdo.

    Afirmativa Errada!

  • Na verdade, a primeira parte da afirmação também está incorreta pois o Zope tem partes do código em C (por questões de performance), isto é, não foi escrito exclusivamente em Python.

    http://docs.zope.org/zope2/zope2book/IntroducingZope.html#zope-history

     

  • O banco de dados do Zope não se chama plone, mas sim ZODB.

  • Errado.
    Zope é um servidor de aplicação open source desenvolvido utilizando-se exclusivamente a linguagem Python. O Zope possui banco de dados orientado a objetos integrado denominado Plone.
    .
    Zope utiliza-se também da linguagem C.
    O banco de dados é denominado ZODB.
  • O Zope possui cerca de 85% do seu código escrito em linguagem Python. A parte de código onde havia a necessidade de maior performance foi convertida para a linguagem C++.

    O banco de dados utilizado é o ZODB, este um banco de dados transacional orientado à objetos. Através do Zope também é possível acessar bancos de dados relacionais, como MySQL, PostgreSQL, Oracle, dentre outros.

    Plone é um sistema robusto de gerenciamento de conteúdo escrito na linguagem Python e que é executado sobre o Servidor de Aplicações Zope e sobre o framework CMF (Content Management Framework).

    Fonte: http://tchezope.org/documentacao
  • TECNICA NISHIMURA!

  • ZOPE:

    MEC - 2015 - CESPE - A respeito de sistemas de gerenciamento de conteúdo e de acessibilidade, julgue o seguinte item. Plone é uma extensão do CMF (content management framework), desenvolvido na linguagem Python, que utiliza o servidor Zope e tem a desvantagem de somente ser compatível com o banco de dados ZODB (zope object database). [ERRADA] O lone roda em praticamente qualquer plataforma.

    ANTT - 2013 - CESPE - Julgue os itens a seguir, com relação às tecnologias empregadas nos servidores de aplicação web. O Zope é um servidor de aplicações web, escrito em Python, com banco de dados orientado a objetos ZODB. O Zope não permite a criação de aplicações web embasadas em componentes. [ERRADA] O Zope é um servidor de aplicações web, escrito em Python, com banco de dados orientado a objetos ZODB, que permite a criação de aplicações web embasada em componentes já que o suporte a componentes é a principal função de um servidor de aplicação, seja ele em qualquer linguagem de programação.

    MPOG - 2013 - CESPE - Um sítio web com Zope, um servidor de aplicações web escrito em Python, é formado por objetos em arquivos, tal como a maioria dos servidores de aplicação web. [ERRADA] Errada, pois os objetos estão em bancos de dados e não em arquivos.

    SERPRO - 2013 - CESPE - Um dos mecanismos de criação de modelos de páginas fornecido pelo Zope é o ZPT, que disponibiliza uma quantidade limitada de recursos, estimulando a implementação de lógica em scripts Python que são invocados nos modelos. [CERTA] O Zope fornece dois mecanismos para a criação de modelos de páginas: Dynamic Template Markup Language (DTML: Linguagem Dinâmica de Marcação de Modelos), e Zope Page Templates (ZPT: Modelos de Páginas Zope). ZPT proporciona apenas um conjunto limitado de recursos, estimulando os programadores a implementar a lógica em scripts Python à parte, que são apenas invocados (e não incluídos) nos modelos.

    BANCO DA AMAZÔNIA - CESPE - 2010 - Zope é um servidor de aplicação open source desenvolvido utilizando-se exclusivamente a linguagem Python. O Zope possui banco de dados orientado a objetos integrado denominado Plone. [ERRADA] O banco de dados do ZOPE chama-se ZODB, não é desenvolvido utilizando-se apenas a linguagem Pyhton, mas também a C++ e Plone é um sistema robusto de gerenciamento de conteúdo escrito na linguagem Python e que é executado sobre o Servidor de Aplicações Zope e sobre o framework CMF (Content Management Framework).


ID
235420
Banca
CETAP
Órgão
AL-RR
Ano
2010
Provas
Disciplina
Programação
Assuntos

Sobre a linguagem de programação PYTHON, marque a alternativa INCORRETA.

Alternativas
Comentários
  • O  operador  para representação de E's lógicos é representado em Python por & para operações bit-a-bit ou and para conjunções.

    Referências
    http://www.python.org/doc//current/library/operator.html
    http://en.wikiversity.org/wiki/Truth_and_flow_control_in_Python#Conjunction
  • Não escreve-se Phyton, mas sim Python.
  • ⦁ Python suporta a maioria das técnicas da programação orientada a objetos.

    Correto.

    ⦁ Python suporta e faz uso constante de tratamento de exceções como uma forma de testar condições de erro e outros eventos inesperados no programa.

    Correto. Com a estrutura try-except podemos tratar exceções geradas no bloco try com código dentro do bloco except

    ⦁ As funções são definidas em Python utilizando a palavra chave def.

    Correto.

    ⦁ A separação de blocos de código em Python é feita utilizando a indentação de código.

    Correto. Python, diferentemente de outras linguagens, não possui delimitadores de início e fim de bloco como o begin/end ou { }. O que delimita os blocos em Python é a indentação.

    ⦁ O operador lógico de conjunção ("e", como em a e b) é &&.

    Errado. O operador lógico conjunção, “E lógico”, em Python é o and.

    Resposta: E

  • (a) Python suporta a maioria das técnicas da programação orientada a objetos.

    Correto.

    (b) Python suporta e faz uso constante de tratamento de exceções como uma forma de testar condições de erro e outros eventos inesperados no programa.

    Correto. Com a estrutura try-except podemos tratar exceções geradas no bloco try com código dentro do bloco except

    (c) As funções são definidas em Python utilizando a palavra chave def.

    Correto.

    (d) A separação de blocos de código em Python é feita utilizando a indentação de código.

    Correto. Python, diferentemente de outras linguagens, não possui delimitadores de início e fim de bloco como o begin/end ou { }. O que delimita os blocos em Python é a indentação.

    (e) O operador lógico de conjunção ("e", como em a e b) é &&.

    Errado. O operador lógico conjunção, “E lógico”, em Python é o and.

    Resposta: E

  • Estruturas logicas em Python: and (e), or (ou), not (não), is (é)

    Alternativa: E

  • Erradíssima galera, aprendemos em nossa aula que os operadores lógicos do Python são: and, or, and.

    Resposta: E

  • Condições - Expressões Lógicas

    Além dos operadores relacionais, existem os chamados operadores lógicos ou "conectivos lógicos". Estes, servem para conectar/combinar duas expressões relacionais. Os operadores lógicos da linguagem Python são:

    or - OU

    and - E

    not - NÃO

    Gabarito: e)

  • A)Python suporta a maioria das técnicas da programação orientada a objetos.

    ~>Sim, o python é orienatdo a objetos, além de ser de alto nível(próxima à linguagem humana) e interpretada (não usa linguagem de máquina, isto é, não se comunica diretamente com o hardware)

    B)Python suporta e faz uso constante de tratamento de exceções como uma forma de testar condições de erro e outros eventos inesperados no programa.

    ~>Sim ele comunica o usuário acerca de algum erro. Por exemplo: sintaxe

    C)As funções são definidas em Phyton utilizando a palavra chave def.

    ~>Exato, a def é uma função que utiliza argumentos para retornar um valor. É necessário escrevê-la no código apenas 1 vez e chamá-la por seu nome ao longo do código, ao invés de ficar repetindo inúmeras vezes o código da função.

    D)A separação de blocos de código em Phyton é feita utilizando a indentação de código.

    ~>Indentação é o espaço que o código dá em operadores como "if", "while", "elif", "for", de forma a a melhorar o aspecto visual do código fonte para o usuário.

    E)O operador lógico de conjunção ("e", como em a e b) é &&.

    ~>Errado, o python é uma linguagem de alto nível, de forma que se aproxima da linguagem humana. O operador lógico "e" é o "and".

  • (a) Python suporta a maioria das técnicas da programação orientada a objetos. (CERTO)

    (b) Python suporta e faz uso constante de tratamento de exceções como uma forma de testar condições de erro e outros eventos inesperados no programa. (CERTO) Com a estrutura try-except podemos tratar exceções geradas no bloco try com código dentro do bloco except

    (c) As funções são definidas em Python utilizando a palavra chave def. (CERTO)

    (d) A separação de blocos de código em Python é feita utilizando a indentação de código. (CERTO) Python, diferentemente de outras linguagens, não possui delimitadores de início e fim de bloco como o begin/end ou { }. O que delimita os blocos em Python é a indentação.

    (e) O operador lógico de conjunção ("e", como em a e b) é &&. (ERRADO)

    Operador lógico conjunção, “E lógico”, em Python é o and.


ID
321139
Banca
CESPE / CEBRASPE
Órgão
Correios
Ano
2011
Provas
Disciplina
Programação
Assuntos

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.

Alternativas
Comentários
  • Questão correta. Para isso, pode-se executar o arquivo .pyc - código fonte traduzido à versão unicode - em qualquer máquina a partir de um compilador C.
  • A questão fala de empacotadores. 

    "Empacotadores são utilitários que empacotam o bytecode com o interpretador e outras dependências, em um ou mais executáveis e arquivos compactados, permitindo que o aplicativo rode em máquinas sem Python instalado"

    Python para Desenvolvedores, Luiz Eduardo Borges.

  • Dúvida:

    Se eu gero o bytecode em uma máquina, posso pegar esse mesmo bytecode e colocar em outra máquina? eu não teria que gerar um novo bytecode na outra máquina a partir do código fonte?

  • Vimos na parte teórica desta aula que Python é multiplataforma. O bytecode pode ser executado em qualquer plataforma que possua uma máquina virtual Python. 

    Nesta questão, o Cespe colocou que, caso certo sistema operacional não tenha compilador Python, o programa fonte Python poderia ser compilado para bytecode através de um compilador C. Isso é possível. O programa fonte Python é um texto comum, pode ser escrito num bloco de notas e salvo com extensão .py. Um compilador C poderia transformar esse fonte em bytecode Python. Esse bytecode não poderá rodar nesse sistema que não suporta Python, mas poderá ser distribuído para outros sistemas que possuem máquina virtual Python e rodar normalmente sem necessidade de recompilação.

    Resposta: Certo

  • Bytecode: é um formato de código intermediário entre o código fonte, o texto que o programador consegue manipular, e o código de máquina, que o computador consegue executar.

    Compilador: é um programa de sistema que traduz um programa descrito em uma linguagem de alto nível para um programa equivalente em código de máquina( baixo nível) para um processador.[ ... ]

    _____________________________________________________________________________________________

  • Gabarito: C.

    Bytecode permite que você pegue o código em um sistema operacional como Linux e execute, por exemplo, no Windows.

    Bons estudos!

  • Assertiva C

    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.

  • Vimos na parte teórica desta aula que Python é multiplataforma. O bytecode pode ser executado em qualquer plataforma que possua uma máquina virtual Python. 

    Nesta questão, o Cespe colocou que, caso certo sistema operacional não tenha compilador Python, o programa fonte Python poderia ser compilado para bytecode através de um compilador C. Isso é possível. O programa fonte Python é um texto comum, pode ser escrito num bloco de notas e salvo com extensão .py. Um compilador C poderia transformar esse fonte em bytecode Python. Esse bytecode não poderá rodar nesse sistema que não suporta Python, mas poderá ser distribuído para outros sistemas que possuem máquina virtual Python e rodar normalmente sem necessidade de recompilação.

    Resposta: Certo

  • Assertiva correta, o 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.

    Resposta: Certo

  • CERTA. Para quem não conhecia o bytecode, assim como eu, ai vai:

    A plataforma Java possui a capacidade de realizar a portabilidade do código gerado. E para isso é utilizado o bytecode.

    • O Bytecode é um formato de código intermediário entre o código fonte, o texto que o programador consegue manipular, e o código de máquina, que o computador consegue executar.

    FONTE: https://www.dca.fee.unicamp.br/cursos/PooJava/javaenv/bytecode.html

  • que questao linda

    essa implementação chama-se cPython

    https://github.com/python/cpython

  • O Python é multiplataforma.

    O bytecode pode ser executado em qualquer plataforma que possua uma máquina virtual Python.

    Nesta questão, o Cespe colocou que, caso certo sistema operacional não tenha compilador Python, o programa fonte Python poderia ser compilado para bytecode através de um compilador C. Isso é possível. O programa fonte Python é um texto comum, pode ser escrito num bloco de notas e salvo com extensão .py.

    Um compilador C poderia transformar esse fonte em bytecode Python. Esse bytecode não poderá rodar nesse sistema que não suporta Python, mas poderá ser distribuído para outros sistemas que possuem máquina virtual Python e rodar normalmente sem necessidade de recompilação.


ID
359776
Banca
CETAP
Órgão
DETRAN-RR
Ano
2010
Provas
Disciplina
Programação
Assuntos

Sobre as linguagens de programação, podemos afirmar que:

Alternativas
Comentários
  • a) ERRADO. PHP, Perl e Python são interpretada.

    b) ERRADO. Python tem suporte à orientação a objetos.

    d) ERRADO. Perl tem suporte à Unicode.

    e) ERRADO. PHP é uma linguagem de tipagem fraca.

  • Gab.: letra C

    Para os leigos como eu, caso tenham curiosidades acerca do polimorfismo:

    Um dos conceitos mais usados do paradigma de objetos é o polimorfismo, que promove a reutilização contínua dos códigos, ou seja, possibilita algo assumir várias formas. No contexto da programação orientada a objetos, ele nos mostra como um método pode assumir formas diferentes das quais foram implementadas inicialmente e agir de modo que possa ser utilizado por outra classe.

    Existem dois tipos de polimorfismo que são conhecidos como sobrecarga (overload) e sobreposição (override). A sobrecarga (overload) consiste em permitir, dentro da mesma classe, mais de um método com o mesmo nome. Entretanto, eles necessariamente devem possuir argumentos diferentes para funcionar.

    fonte: https://www.devmedia.com.br/sobrecarga-e-sobreposicao-de-metodos-em-orientacao-a-objetos/33066


ID
659950
Banca
FCC
Órgão
TRE-CE
Ano
2012
Provas
Disciplina
Programação
Assuntos

É INCORRETO afirmar que em Phyton,

Alternativas
Comentários
  • Classes, também são objetos. Tudo em Python é objeto!!!

    http://www.async.com.br/projects/python/pnp/node41.html#SECTION000520300000000000000

  • "Phyton". Nem ctrl+c, ctrl+v a FCC acerta mais.

  • GAB: A)

     

    TUDO em Python é objeto!!!!!!

  • (a) excetuando-se as classes, tudo é um objeto (tipos, valores, funções, métodos e instâncias), e todos possuem atributos e métodos associados.

    Errado. Vimos isso na parte teórica desta aula. Em Python, tudo é objeto, inclusive as classes.

    (b) um ponto fundamental da sintaxe para métodos é que o primeiro argumento é especial, e convenciona- se utilizar o nome self para ele.

    Correto. Convenciona-se colocar o self como 1º argumento de um método e ele serve para referenciar atributos de instância da classe.

    (c) o método construtor (p.ex.: __init__()) é um método opcional invocado quando a classe é instanciada.

    Correto. Construtor em Python é sempre o __init__

    (d) instâncias são objetos criados a partir de uma classe definida pelo programador; o que Python chama de instância é frequentemente denominado objeto em outras linguagens.

    Correto. Objeto é a instância de uma classe.

    (e) é possível acessar os atributos da instância diretamente, sem a necessidade de usar um método.

    Sim. Por default, os atributos de uma classe são públicos. Veja o código abaixo.

     

    Nas linhas 1 e 2 foi definida a classe Casa com um atributo público cor. Na linha 4 é criada uma instância de Casa e o print da linha 5 imprime “Branca”. Ou seja, o atributo cor é público, acessível externamente à classe.

    Resposta: A

  • TUDO EM PYTHON É OBJETO, INCLUSIVE AS CLASSES! letra- A

  • INCLUINDO as classes, TUDO em PHYTON é um objeto (tipos, valores, funções, métodos e instâncias), e todos possuem atributos e métodos associados.

  • (a) excetuando-se as classes, tudo é um objeto (tipos, valores, funções, métodos e instâncias), e todos possuem atributos e métodos associados. (ERRADO) -> Em Python, tudo é objeto, inclusive as classes.

    (b) um ponto fundamental da sintaxe para métodos é que o primeiro argumento é especial, e convenciona- se utilizar o nome self para ele. (CERTO) -> Convenciona-se colocar o self como 1º argumento de um método e ele serve para referenciar atributos de instância da classe.

    (c) o método construtor (p.ex.: __init__()) é um método opcional invocado quando a classe é instanciada. (CERTO) -> Construtor em Python é sempre o __init__

    (d) instâncias são objetos criados a partir de uma classe definida pelo programador; o que Python chama de instância é frequentemente denominado objeto em outras linguagens. (CERTO) -> Objeto: é a instância de uma classe.

    (e) é possível acessar os atributos da instância diretamente, sem a necessidade de usar um método. (CERTO) -> Por default, os atributos de uma classe são públicos.


ID
661747
Banca
FCC
Órgão
TRE-CE
Ano
2012
Provas
Disciplina
Programação
Assuntos

Sobre Python é correto afirmar:

Alternativas
Comentários
  • Introspecção e reflexão são propriedades de sistemas orientados a objetos que qualificam a existência de mecanismos para descobrir e alterar, em tempo de execução, informações estruturais sobre um programa e objetos existentes neste.

    Python possui tanto características introspectivas quanto reflexivas. Permite obter em tempo de execução informações a respeito do tipo dos objetos, incluindo informações sobre a hierarquia de classes. Preserva também metadados que descrevem a estrutura do programa sendo executado, e permitindo que se estude como está organizado este sem a necessidade de ler o seu código-fonte.

    Algumas funções e atributos são particularmente importantes neste sentido, e são apresentadas nesta seção:

     

    dir(obj): esta função pré-definida lista todos os nomes de variáveis definidos em um determinado objeto; foi apresentada anteriormente como uma forma de obter as variáveis definidas em um módulo, e aqui pode ser descrita em sua glória completa: descreve o conteúdo de qualquer objeto Python, incluindo classes e instâncias.

    obj.__class__: este atributo da instância armazena o seu objeto classe correspondente.

    obj.__dict__: este atributo de instâncias e classes oferece acesso ao seu estado local.

    obj.__module__: este atributo de instâncias e classes armazena uma string com o nome do módulo do qual foi importado.

    classe.__bases__: esta atributo da classe armazena em uma tupla as classes das quais herda.

    classe.__name__: este atributo da classe armazena uma string com o nome da classe

    Fonte: http://www.async.com.br/projects/python/pnp/introspection.html

  • Sobre as alternativas erradas:...

    A - Python e uma linguagem interpretada, que também pode ser compilada
    B - Possui tipagem dinâmica (tipos não precisam ser declarados) só precisam ser inicializados
    D - Listas são um tipo de sequência que são grupos de objetos ordenados e de tamanho finitos. Não existe restrição quanto a diversidade de tipo de objetos agrupados
    E - String é uma sequencia imutável, mas não possui restrição de tamanho

  • Na alternativa D, além de estar errado dizer que listas só podem armazenar elementos do mesmo tipo, o trecho que diz que os índices iniciam em 1 também está errado, uma vez que o primeiro índice é o 0.

  • Quanto ao Phyton:

    1- Suporta maniputação de exceções;

    2 - Eficiente gerenciameto de memória - Garbage Collection

    3 - É uma linguagem interpretada

    4- Free

    5- Traz consigo inúmeras bibliotecas, além de possibilitar integração com outras

    6- Utiliza uma linha em branco como definição de blocos;

    7- Fácil entendimento quanto a projeção de: construtores, loops , estruturas condicionais e arrays, dentre outros recursos

    8- Implementada em C e extensível as suas bibliotecas

     

    Fonte: Livro: Python RAD - Rapid Application Development - Thiago Hernandes de Souza Ed: Moderna

  • Resposta Letra C

    Em , introspecção ou introspecção de tipos, é a habilidade de um programa de examinar o tipo ou propriedades de um em . A introspecção não deve ser confundida com , que vai um pouco mais adiante e é a habilidade de um programa para manipular os valores, metadados, propriedades e/ou funções de um objeto em tempo de execução.

    Fonte: https://pt.wikipedia.org/wiki/Introspec%C3%A7%C3%A3o_(computa%C3%A7%C3%A3o)

  • Questão conceitual a respeito de Python. Iremos analisar cada uma das alternativas.

    ⦁ É uma linguagem compilada, ou seja, o código-fonte de um programa é lido pelo compilador, que cria um arquivo binário, executável diretamente pelo hardware.

    Errado. É uma linguagem interpretada que, após compilada, é transformada em bytecode que por sua vez é interpretado por uma máquina virtual. Não é executável diretamente pelo hardware.

    ⦁ É uma linguagem fortemente tipada, ou seja, é preciso declarar variáveis e seus tipos.

    Python é sim uma linguagem fortemente tipada. Mas isso não significa que seja necessário declarar os tipos das variáveis. Isso não é necessário porque os tipos são descobertos em tempo de execução, durante a interpretação linha a linha do script Python. Alternativa errada.

    ⦁ Suporta funcionalidades comuns na orientação a objetos: herança, herança múltipla, polimorfismo, reflexão e introspecção.

    Certo. O Python suporta todas essas funcionalidades: herança, herança múltipla, polimorfismo, reflexão e introspecção. Herança é quando uma classe é uma especialização da classe mãe. Herança múltipla é quando uma classe é filha de mais de uma classe-mãe. Isso é possível em Python. Polimorfismo é quando o método a ser executado depende da hierarquia de herança. Reflexão é quando é possível obter atributos de objetos passados como parâmetros de uma função. E introspecção é a possibilidade de saber o tipo de um objeto em tempo de execução.

    ⦁ 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.

    Errado por 2 motivos. O índice inicial da lista em Python é 0 (zero). Além disso, a lista pode conter valores de tipos diferentes. 

    ⦁ Uma String Python á uma sequência imutável, alocada estaticamente, com restrição de tamanho.

    Errado. Strings em Python são imutáveis e têm restrição de tamanho. Mas elas não são alocadas estaticamente, mas sim dinamicamente.

    Resposta: C

  • Questão conceitual a respeito de Python. Iremos analisar cada uma das alternativas.

    (a) É uma linguagem compilada, ou seja, o código-fonte de um programa é lido pelo compilador, que cria um arquivo binário, executável diretamente pelo hardware.

    Errado. É uma linguagem interpretada que, após compilada, é transformada em bytecode que por sua vez é interpretado por uma máquina virtual. Não é executável diretamente pelo hardware.

    (b) É uma linguagem fortemente tipada, ou seja, é preciso declarar variáveis e seus tipos.

    Python é sim uma linguagem fortemente tipada. Mas isso não significa que seja necessário declarar os tipos das variáveis. Isso não é necessário porque os tipos são descobertos em tempo de execução, durante a interpretação linha a linha do script Python. Alternativa errada.

    (c) Suporta funcionalidades comuns na orientação a objetos: herança, herança múltipla, polimorfismo, reflexão e introspecção.

    Certo. O Python suporta todas essas funcionalidades: herança, herança múltipla, polimorfismo, reflexão e introspecção. Herança é quando uma classe é uma especialização da classe mãe. Herança múltipla é quando uma classe é filha de mais de uma classe-mãe. Isso é possível em Python. Polimorfismo é quando o método a ser executado depende da hierarquia de herança. Reflexão é quando é possível obter atributos de objetos passados como parâmetros de uma função. E introspecção é a possibilidade de saber o tipo de um objeto em tempo de execução.

    (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.

    Errado por 2 motivos. O índice inicial da lista em Python é 0 (zero). Além disso, a lista pode conter valores de tipos diferentes. 

    (e) Uma String Python á uma sequência imutável, alocada estaticamente, com restrição de tamanho.

    Errado. Strings em Python são imutáveis e têm restrição de tamanho. Mas elas não são alocadas estaticamente, mas sim dinamicamente.

    Resposta: C

  • PHYTON - Suporta funcionalidades comuns na orientação a objetos: herança, herança múltipla, polimorfismo, reflexão e introspecção.

  • Python e R são:

    • Fortemente tipadas = são linguagens em que se deve fazer operações com a necessidade da realização de cast; e
    • Dinamicamente tipadas = são linguagens em que o tipo de uma variável pode ser alterado durante a execução do código.

  • A- Não é compilada, ela é interpretada

    B- É de tipagem forte, mas o significado a frente não tem a ver com isso

    C - Certo, ele é multifuncionalidade e multiparadigma

    D - Podem existir diversos tipos

    E - Python tem como característica ser dinâmico, ou seja, é possível modificar.

  • Isso que eu chamo de questão recorrente em provas (literalmente)! Outra questão:

    Quando pedem seu dever de redação, só pra ter uma ideia, e você fala "só não vai copiar!": -> Q520668

    Achei que estava em um deja vu, kkkk. Gabarito C.

  • Questão conceitual a respeito de Python. Iremos analisar cada uma das alternativas.

    (a) É uma linguagem compilada, ou seja, o código-fonte de um programa é lido pelo compilador, que cria um arquivo binário, executável diretamente pelo hardware. (ERRADO) É uma linguagem interpretada que, após compilada, é transformada em bytecode que por sua vez é interpretado por uma máquina virtual. Não é executável diretamente pelo hardware.

    (b) É uma linguagem fortemente tipada, ou seja, é preciso declarar variáveis e seus tipos. (ERRADO) Python é sim uma linguagem fortemente tipada. Mas isso não significa que seja necessário declarar os tipos das variáveis. Isso não é necessário porque os tipos são descobertos em tempo de execução, durante a interpretação linha a linha do script Python. Alternativa errada.

    (c) Suporta funcionalidades comuns na orientação a objetos: herança, herança múltipla, polimorfismo, reflexão e introspecção. (CERTO) O Python suporta todas essas funcionalidades: herança, herança múltipla, polimorfismo, reflexão e introspecção.

    Herança: é quando uma classe é uma especialização da classe mãe.

    Herança múltipla: é quando uma classe é filha de mais de uma classe-mãe. Isso é possível em Python.

    Polimorfismo: é quando o método a ser executado depende da hierarquia de herança.

    Reflexão: é quando é possível obter atributos de objetos passados como parâmetros de uma função.

    Introspecção: possibilidade de saber o tipo de um objeto em tempo de execução.

    (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. (ERRADO) Errado por 2 motivos. O índice inicial da lista em Python é 0 (zero). Além disso, a lista pode conter valores de tipos diferentes.

    (e) Uma String Python á uma sequência imutável, alocada estaticamente, com restrição de tamanho. (ERRADO) Strings em Python são imutáveis e têm restrição de tamanho. Mas elas não são alocadas estaticamente, mas sim dinamicamente.


ID
708913
Banca
FCC
Órgão
MPE-PE
Ano
2012
Provas
Disciplina
Programação
Assuntos

Em Python, os métodos de lista permitem utilizar listas como pilhas, onde o item adicionado por último é o primeiro a ser recuperado. Para adicionar um item ao topo da pilha, e para recuperar um item do topo da pilha utilizam-se, respectivamente os métodos:

Alternativas
Comentários
  • O correto é append e pop.
    Segundo documentação python: http://docs.python.org/release/3.1.5/tutorial/datastructures.html

    list.append(x)
    Add an item to the end of the list; equivalent to a[len(a):] = [x].
     
    list.pop([i])
    Remove the item at the given position in the list, and return it. If no index is specified, a.pop() removes and returns the last item in the list. (The square brackets around the i in the method signature denote that the parameter is optional, not that you should type square brackets at that position. You will see this notation frequently in the Python Library Reference.)
     
  • Só traduzindo.

    list.append (x) Adicionar um item para o fim da lista; equivalente a um [len (a):] = [x​​]. list.pop ([i]) Retorna o item na posição especificada. Se nenhum índice for especificado, a.pop () retorna o último item da lista. (Os colchetes ao redor do i na assinatura do método indicam que o parâmetro é opcional, não que você deve digitar colchetes nessa posição. Você vai ver esta notação com frequência na Biblioteca de Referência Python.
  • Acredito que seja válido o registro pelo enunciado das questões e os comentários dos colegas. 

    Listas = FIFO = primeiro a entrar, primeiro a sair.

    Pilhas = LIFO = primeiro a entrar, último a sair.

  • Cuidado, a questão pecou um pouco na precisão. O Pop não apenas recupera o item, mas também o remove. O mais correto para apenas recuperar o item seria o peek (ou top), que por sinal não existem em Python.

     

  • Gabarito: A

    Append - Função utilizada para adicionar um item ao final da lista. Pensando como uma pilha, de modo inverso a uma lista, ele adiciona um item no topo.

    Pop - Função utilizada para remover item especificado (ou o último item se nenhum item for especificado).Pensando como uma pilha, de modo inverso a uma lista, essa função recupera o primeiro item quando não é espeficiado.

    -> Em programação, existe o conceito de pilha. O que é uma pilha? Pensem em uma pilha de pratos: o último prato a ser adicionado é o primeiro aser lavado. Em programação, é semelhante: o último elemento a ser adicionado na pilha é o primeiro a ser recuperado, em contr aste com a lista, emque o primeiro elemento a ser adicionado é também o primeiro a ser recuperado (como em uma fila).

    fonte: estratégia

  • ~>append() :Função usada em listas para adicionar elementos à lista, no caso ao final da lista especificada

    ~>insert(): Função usada em listas para adicionar elementos à lista, no caso pode ser colocado um índice e o elemento ou, se nada colocado, será adicionado ao final da lista. Ex.:

    ListaQualquer = [2020, "Flamengo", True, 5]

    ListaQualquer.insert(3,"Bola")

    #Retornará [2020, "Flamengo", True, 'Bola', 5]

    ~>Remove(): Função usada em listas para remover elementos da lista, no caso no começo da lista especificada

    ~>pop(): Função usada em listas para remover elementos da lista, no caso pode ser colocado um índice ou, se nada colocado, será excluído último ao final da lista

    ListaQualquer = ["Flamengo", True, "Bola", 5]

    ListaQualquer.pop()

    print(ListaQualquer)

    #Retornará ["Flamengo", True, "Bola"]

    ListaQualquer.pop(2)

    print(ListaQualquer)

    #Retornará ["Flamengo", True"]

    ~>Del(): mesma coisa do pop(), mas como o colchete e, se nada colocado, apagará a lista

    ~>Clear(): esvazia a lista, mas não a apaga.

  • Uma questão até que tranquila, basta você saber qual a função do método append() que já dar pra marcar a resposta correta. Eles nem colocaram um outro appender() para confundir.


ID
759343
Banca
PaqTcPB
Órgão
UEPB
Ano
2012
Provas
Disciplina
Programação
Assuntos

No comando de atribuição em Python valor = raw_input(“Digite um valor: ”), qual o tipo da variável valor?

Alternativas
Comentários
  • raw_input
    Lê uma string do teclado e a retorna! 
  • Lê uma String e você pode comparar com inteiros. Por exemplo:

    x = int(raw_input("Favor digitar um inteiro: ")) 

    Favor digitar um inteiro: 42 

    if x < 0: 

        x = 0 

        print 'Negativo alterado para zero'

    elif x == 0: 

        print 'Zero' 

    elif x == 1:

        print 'Unidade' 

    else: 

        print 'Mais'

    Saída: Mais

    Fonte: http://turing.com.br/pydoc/2.7/tutorial/

  • A função raw_input serve para lermos valores digitados pelo usuário no prompt do Python. É uma função da versão 2 do Python. No Python 3, ela foi substituída pela input. Mas o funcionamento é o mesmo. Ela pega o valor digitado pelo usuário e armazena o valor no formato de string.

    Resposta: A

  • o tipo é uma string.

    RESPOSTA: Letra a) str

  • ALTERNATIVA: A

    Todo "input" retorna um string!

    ex.:

    >>> x = input("digite sua idade: ")

    digite sua idade: 30 ---- esse 30 é um string!!

    Caso deseje que um "input" seja um "integer por exemplo, faz-se necessário colocar ele na frente, veja o exemplo abaixo:

    >>>x=int(input("digite sua idade: "))

    digite sua idade: 30

    30 ----- esse 30 agora é um integer pois antes do "input" foi dado o comando para ele se "transformar" num integer.

    Fácil é Desistir!!!

  • A função raw_input serve para lermos valores digitados pelo usuário no prompt do Python. É uma função da versão 2 do Python. No Python 3, ela foi substituída pela input. Mas o funcionamento é o mesmo. Ela pega o valor digitado pelo usuário e armazena o valor no formato de string.

    Resposta: A

  • A função raw_input serve para lermos valores digitados pelo usuário no prompt do Python.

    É uma função da versão 2 do Python.

    No Python 3, ela foi substituída pela input.

    Mas o funcionamento é o mesmo.

    Ela pega o valor digitado pelo usuário e armazena o valor no formato de string.


ID
900508
Banca
IADES
Órgão
EBSERH
Ano
2013
Provas
Disciplina
Programação
Assuntos

A combinação das tecnologias de software livre é bastante popular, devido ao baixo custo, performance e escalabilidade. Outro bom motivo para adoção do LAMP é a facilidade de trocar de servidor, já que a grande maioria dos serviços de hospedagem contam com estes softwares. Isso, para outras linguagens e bancos de dados, normalmente, é um inconveniente, tendo em vista as diferentes confgurações e restrições dos servidores. LAMP é um acrônimo para a combinação

Alternativas
Comentários
  • LAMP é uma combinação de softwares livres e de código aberto. O acrônimo LAMP refere-se as primeiras letras de Linux (sistema operacional), Apache HTTP ServerMySQL (software de banco de dados) ePHPPerl ou Python, componentes principais para construir um servidor web de propósito geral viável.

    Resposta letra c

    Fonte: Wikipedia
  • "Amanda" ...rsrs..

  • Engraçado eh a questao se referir a LAMP como sendo acronimos de software, quando na verdade, PHP, perl e Python sao LINGUAGENS

  • Mozer, e estas linguagens de programação não são softwares por acaso? Elas tem uma camada de interpretadores/compiladores que precisam ser instalados(softwares) para que outros softwares através da programação sejam criados...

  • Gabarito C

    Os servidores web são a espinha dorsal da Internet, são eles que hospedam todas as páginas, incluindo os mecanismos de busca e servem como base para todo tipo de aplicativo via web, incluindo os webmails. No futuro, esta tendência deve se acentuar, com páginas web dinâmicas e aplicativos via web substituindo cada vez mais os aplicativos desktop.

    Segundo a Netcraft, pouco mais de 50% dos servidores web do mundo rodam o Apache (http://news.netcraft.com/archives/web_server_survey.html), a maior parte deles sobre o Linux. O percentual real é na verdade um pouco maior, pois um grande número de administradores configuram seus servidores para divulgarem informações falsas sobre o servidor web usado, de forma a não fornecer qualquer informação que possa facilitar ataques. Estes servidores não-identificados aparecem na pesquisa como “other”.

    Nos primórdios da internet, eram utilizadas apenas páginas html estáticas e scripts CGI. O Apache em si continua oferecendo suporte apenas a esses recursos básicos, mas ele pode ser expandido através de módulos, passando a suportar scripts em PHP, acessar bancos de dados MySQL, entre inúmeros outros recursos. Sempre que é solicitada uma página em PHP ou outra linguagem, entra em ação o módulo apropriado, que faz o processamento necessário e devolve ao Apache a página html que será exibida. Entram em ação, então, os gestores de conteúdo e fóruns, que combinam os recursos do PHP com um banco de dados como o MySQL, acessado através dele. A combinação de tudo isso forma a solução que é popularmente chamada de “LAMP” (Linux + Apache + MySQL + PHP).



    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

  • Vou pedir direitos autorais por ter meu nome nas alternativas kkk


ID
932968
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens que se seguem, a respeito da linguagem Python, versão 3.1.

As terminações de linha em ASCII podem ser usadas em arquivos fonte na linguagem Python, da mesma maneira e independentemente da plataforma.

Alternativas
Comentários
  • ASCII - AMERICAN STANDARD CODE INTERNATIONAL INTERCHANCE

    Os computadores entendem somente números, portanto, é necessário uma forma de representar os caracteres no seu interior, daí o surgimento da tabela ASCII. Os códigos ASCII foram desenvolvidos há muito tempo para uso em teletipos e, naturalmente, apesar de utilizados, podem ser considerados defasados com a tecnologia atual, o que os tornam um tanto quanto obscuros.

     

    É, portanto, um código binário (cadeias de bits: 0s e 1s) que codifica um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, sinais de pontuação e sinais matemáticos) e 33 sinais de controle, utilizando portanto apenas 7 bits para representar todos os seus símbolos

    (Veja a tabela em: http://www.din.uem.br/sica/material/ascii.php)

     

    "Sigam-me os bons!"

  • Para quem não entende os comentários sem o gabarito e não tem acesso a resposta.

    Gaba: CERTO

    traduzindo na força bruta: com os caracteres do seu teclado (ASCII), vc pode usa para escrever um códido em phyton?

  • Código Padrão Americano para o intercâmbio de Informações.

  • O ASCII é um padrão de codificação de caracteres. Quando você escreve um código fonte em Python (arquivo .py) no formato ASCII você tem a garantia que esse fonte pode ser distribuído para outra plataforma que, se essa plataforma conseguir ler texto ASCII todo seu código fonte .py será lido corretamente, inclusive os caracteres de terminação de linha.

    Resposta: Certo

  • Assertiva C

    As terminações de linha em ASCII podem ser usadas em arquivos fonte na linguagem Python, da mesma maneira e independentemente da plataforma.

  • O ASCII é um padrão de codificação de caracteres. Quando você escreve um código fonte em Python (arquivo .py) no formato ASCII você tem a garantia que esse fonte pode ser distribuído para outra plataforma que, se essa plataforma conseguir ler texto ASCII todo seu código fonte .py será lido corretamente, inclusive os caracteres de terminação de linha.

    Resposta: Certo

  • As terminações de linha em ASCII podem ser usadas em arquivos fonte na linguagem Python, da mesma maneira e independentemente da plataforma.

    Resposta: Certo

  • As terminações de linha em ASCII podem ser usadas em arquivos fonte na linguagem Python da mesma maneira e independentemente da plataforma.

    Resposta: Certo

  • O ASCII é um padrão de codificação de caracteres.

    Quando você escreve um código fonte em Python (arquivo .py) no formato ASCII você tem a garantia que esse fonte pode ser distribuído para outra plataforma que, se essa plataforma conseguir ler texto ASCII todo seu código fonte .py será lido corretamente, inclusive os caracteres de terminação de linha.


ID
932971
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

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.

Alternativas
Comentários
  • Nada, dentro de um comentário, será interpetrado como código.

  • O caractere # marca o inicio de comentário.

  • Para quem não entende os comentários sem o gabarito e não tem acesso a resposta.

    Gaba: ERRADO

    # esse é um comentário e não será exibido na tela após se compilado!

     

  • Só seria um comentário de tivesse o caracter # no início.

    Portanto questão: ERRADA

  • O erro da questão não é a ausência de # (pois a questão fala em corresponder a um comentário, logo subentende-se o #), ou então falar que o comentário nunca é processado (em alguns casos marcações de comentários são, sim, processadas, como é o caso da codificação utilizada).

    O erro da questão é falar "em qualquer linha do script Python", um comentário com a expressão coding (ou encoding) só será processado como uma declaração de codificação se estiver na primeira ou na segunda linha do código.

    "Python will default to ASCII as standard encoding if no other encoding hints are given.

    To define a source code encoding, a magic comment must be placed into the source files either as first or second line in the file, such as:

    # coding=
    [...]

    The first group of this expression is then interpreted as encoding name. If the encoding is unknown to Python, an error is raised during compilation. There must not be any Python statement on the line that contains the encoding declaration. If the first line matches the second line is ignored."

    Fonte: https://www.python.org/dev/peps/pep-0263/

  • #início do comentário

  • Comentários não são processados como uma declaração de codificação.

    Os comentários servem para dar alguma informação, colocar alguma observação ao longo do código, algo que o programador quis deixar registrado porque achou pertinente.

    Os comentários iniciam com a hashtag #. Ex.: #isso é um comentário.

    Portanto, ITEM ERRADO.

  • Assertiva E

    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.

    Para adicionarmos comentários, utilizamos uma notação especial, a fim de informar ao interpretador que, determinado trecho de caracteres, possui a finalidade de descrever ou documentar algo e assim, o compilador ou interpretador, não deve interpretar os caracteres contidos na notação que demarca trechos de comentários.

    # comentários #

  • Errado, Comentários em Python são iniciados pelo caractere # , e se estendem até o final da linha física. Um comentário pode aparecer no início da linha, depois de um espaço em branco ou código, mas nunca dentro de uma string literal. O caractere # em uma string literal não passa de um caractere # .

  • Assertiva errada, pois estre comentários de linhas não validos na linguagem de programação Python. O comentário valido nas linhas de programação Python é: #

    Resposta: Errado

  • Comentários não são processados como uma declaração de codificação.

    Os comentários servem para dar alguma informação, colocar alguma observação ao longo do código, algo que o programador quis deixar registrado porque achou pertinente.

    Os comentários iniciam com a hashtag #. Ex.: #isso é um comentário.

  • #Nada será interpretado como código dentro de um comentário

  • Os comentários se dão por meio do caractere #

    Comentários não são executados. Servem apenas para auxiliar na leitura do código.

    Gabarito: CERTO

  • Errado.

    Comentários em Python são feitos, basicamente, de duas formas.

    A primeira é utilizada para comentários realizados em apenas uma linha e utiliza-se o caracter #.

    A segunda, utilizada em comentários em blocos, faz o uso de três aspas simples '''.

  • # Comentário em uma linha.

    ''' Comentário em varias linhas.

    Comentários no código facilita a comunicação dos desenvolvedores, geralmente identificam trechos de códigos.

  • Doideira!!!!

    Parece que o examinador caiu de testa no teclado na hora e fazer a questão!

  • A questão não é tão simples assim.

    Os erros estão em vermelho.

    .

    " 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."

    Se um comentário na primeira ou segunda linha do script Python corresponder à expressão regular coding[=:]\s*([-\w.]+) , esse comentário será processado como uma declaração de codificação; o primeiro grupo desta expressão nomeia a codificação do arquivo de código-fonte.

    https://docs.python.org/3.11/reference/lexical_analysis.html#encoding-declarations

  • Comentários são marcados com # ou aspas triplas '''


ID
932974
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens que se seguem, a respeito da linguagem Python, versão 3.1.

Uma função ou método que usa a instrução yield é denominada função geradora, a qual, quando chamada, retoma um objeto Integer que pode ser usado para executar o corpo da função no número de vezes retomado.

Alternativas
Comentários
  • - Para compreender de fato funcionamento YIELD, precisa-se possuir conceitos vizinhos como iteradores (iterators), geradores (generators) e expressões geradoras (generator expressions).

     

    - O yield só pode ser usado dentro de uma função.

    _________________________________

       >>> yield

                   File "", line 1

          SyntaxError: 'yield' outside function

    __________________________________

    Dentro de uma função ele funciona mais ou menos como um return, com a diferença que ele retorna um generator.

     

    (fonte: http://www.devfuria.com.br/python/yield/)

  • Yield no Python é usado sempre que você precisa definir uma função de gerador de algo. Você não pode usar yield fora de um generator function. Quando você usa a instrução yield dentro de uma função, ela se transforma em uma função geradora. ... O yield retém o estado da função onde ela é pausada (ao retornar o value ).

  • Errado, Uma função ou método que usa a instrução yield é denominada função geradora, a qual, quando chamada, retoma um objeto Integer (errado!), o yield cria um generator, ou seja, cria uma lista de dados que vão sendo consumidos sob demanda.

  • O yield cria um generator, ou seja, cria uma lista de dados que vão sendo consumidos sob demanda.

    Resposta: Errado

  • DO SITE STACK OVERFLOW:

    PERGUNTA: Há já algum tempo que tenho escrito alguns scripts básicos com o Python, em alguns tutoriais às vezes é-me apresentado o , que normalmente surge em estruturas de repetição comumente. Para que serve? E como usar?

    RESPOSTA: O Python tem especificidades próprias mas essencialmente em todas linguagens funcionam igual. Ele cria um generator, ou seja, cria uma lista de dados que vão sendo consumidos sob demanda. Em geral é usado para dar melhores abstrações ao código. Tudo que se faz com ele, dá para fazer sem ele de forma muito semelhante, mas expondo o mecanismo de geração dos dados. Ele retorna um valor mantendo o estado de onde parou. Quando executa de novo ele continua de onde parou. Ele controla o estado de um enumerador entre execuções da função.

    def impar(elems):

       for i in elems:

           if i % 2:

               yield i

     

    for x in impar(range(1000)):

    Este código imprimirá todos os ímpares de 0 à 1000. Ele vai chamar o método 500 vezes, cada vez trará um número ímpar. O compilador/biblioteca montará a estruturá interna para saber em que número ele está em cada chamada.

    Claro que tem uma variável escondida que sobrevive além do ambiente interno da função. Então esse  não começa de novo em cada chamada da função. Note que você pode chamar a função  sem saber como ela faz a seleção internamente. Este exemplo é simples e óbvio, mas pense em coisas mais complexas. Você abstrai melhor. Você diz que vai chamar um método que filtra os ímpares para você. Não interessa como. O que você vai fazer com a informação gerada é problema seu. A função com o  tem responsabilidade única de gerar a informação.

    Outro exemplo:

    def numeros():

       yield 1

       yield 2

       yield 3

     

    print numeros()

    print numeros()

    print numeros()

    Isso imprimirá 1, 2 e 3.

  • Foi escrito muita coisa e no final nada foi dito!

    yield só pode ser usado dentro de uma função. não pode ser usado dentro de um .

    Uma função ou método que usa a instrução yield é denominada função geradora...

  • Pra quem não entende a diferença entre o yield e o return, aqui vai:

    • def letras():
    •   return 'A'
    •   return 'B'
    •   return 'C'
    • for letra in letras():
    •   print (letra) #Irá imprimir "A", porque o return não tem uma "memória", sempre vai imprimir o primeiro.

    Agora, se usarmos o yield:

    • def letras():
    •   yield 'A'
    •   yield 'B'
    •   yield 'C'
    • for letra in letras():
    •   print (letra) #Irá imprimir todas as letras, uma em cada linha. É como se ele soubesse onde parou da última vez que imprimiu.

ID
933208
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Acerca das linguagens de programação, julgue os itens subsequentes.

As linguagens Perl e Python são dinamicamente tipadas, ou seja, o tipo da variável é definido em tempo de execução. As linguagens C e Java são estaticamente tipadas, ou seja, o tipo de variável é definido em tempo de compilação.

Alternativas
Comentários
  • Para quem não entende os comentários sem o gabarito e não tem acesso a resposta.

    Gaba: CERTO

    Java, C♯, Fortran e Cobol são fortemente tipificadas (vc tem q definir o tipo dela antes)

    Exemplo de programa em C: 

    int a; ( declara a variável "a" como inteiro )

    a = 3 + 2; ( soma 3 com 2) 

     

    agora em Python é um pouco diferente, pq vc não precisa declarar a variavel antes, ele "entende" o que vc quer

    "Python são dinamicamente tipadas"

    se vc escrever: 4 ele entende como inteiro, se vc escrever 'teste' ele entende como texto vc nem precisa declarar nada pra ele entender.

  • Linguagens fortemente tipadas (ou linguagens fortemente tipificadas) são aquelas em que todas as variáveis tem um tipo específico e seus tipos são importantes para a linguagem. Java, C♯, Fortran e Cobol são exemplos deste tipo de linguagem. Normalmente as linguagens fortemente tipadas também são estaticamente tipadas, o que significa que uma vez que a variável foi declarada com um tipo ela será até o seu fim do mesmo tipo e também normalmente possuem declaração explicita de tipo onde o tipo da variável deve ser especificado logo na sua declaração.

     

  • Java: Tipagem forte e estática;

    C: Tipagem fraca;

    Python: Tipagem forte e dinâmica;

    Pascal: Tipagem forte;

    C#: Tipagem estática.

    Quanto a classificação:

    Fortemente tipada: Não permite o mesmo dado ser tratado como se fosse outro tipo de dados um int não pode ser tratado como se fosse double, por exemplo;

    Fracamente tipada: Em que a conversão de tipos é implícita;

    Tipagem estática: Possibilita checagem do tipo em tempo de compilação e o tipo de dado é declarado explicitamente;

    Tipagem dinâmica: Seus objetos recebem tipos diferentes durante seu ciclo de  vida e devem sempre esperar qualquer tipo de dados.

    https://tecnologiadacomputacao.wordpress.com/2017/04/08/tipagem-de-linguagens-de-programacao/

  • Assertiva C

    As linguagens Perl e Python são dinamicamente tipadas, ou seja, o tipo da variável é definido em tempo de execução. As linguagens C e Java são estaticamente tipadas, ou seja, o tipo de variável é definido em tempo de compilação.

  • GABARITO CORRETO

    Linguagem de tipagem dinâmica: permite a alteração de tipo de variável durante a execução do código-fonte.

    Linguagem de tipagem forte: não possui a conversão implícita dos tipos de variáveis, anteriormente é necessário a conversão para realizar a ação necessária.

  • Vou explicar o motivo de eu ter marcado 'ERRADO'.

    >o tipo de variável é definido em tempo de compilação.

    >tempo de compilação

    Eu realmente achava que a variável fosse definida no momento de sua declaração e não na compilação. Eu sei o que é uma linguagem tipada forte e uma dinâmica, mas errei por achar que era definida no momento da declaração (ex: int a = 10) e não na compilação (a = 10).

  • Linguagens dinamicamente tipadas não é necessário especificar o tipo da variável para executar o programa.

    Ex: Python => a = 2 a linguagem reconhece o tipo, que nesse caso é int.

    Para descobrir um tipo de uma variável,em Python, basta digitar o comando => print (type(a))

    Linguagens estaticamente tipadas é necessário definir o tipo da variável antes da compilação.

    Ex: java => int x = 2;


ID
946915
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2013
Provas
Disciplina
Programação
Assuntos

A respeito de servidores de aplicação e de Web, julgue os próximos itens.

Um dos mecanismos de criação de modelos de páginas fornecido pelo Zope é o ZPT, que disponibiliza uma quantidade limitada de recursos, estimulando a implementação de lógica em scripts Python que são invocados nos modelos.

Alternativas
Comentários
  • O Zope fornece dois mecanismos para a criação de modelos de páginas: Dynamic Template Markup Language (DTML: Linguagem Dinâmica de Marcação de Modelos), e Zope Page Templates (ZPT: Modelos de Páginas Zope).
    ZPT proporciona apenas um conjunto limitado de recursos, estimulando os programadores a implementar a lógica em scripts Python à parte, que são apenas invocados (e não incluídos) nos modelos.

    Portanto questão CERTA.

    FONTE: 
    http://pt.wikipedia.org/wiki/Zope
  • ERRADO

    ZPT - Zope Pages Templates, linguagem muito utilizada dentro do excelente Zope e que serve para separar o código de programação (Python) do layout.

    Introdução

    Zope Pages Templates, ou simplesmente, ZPT, é uma linguagem de templates utilizada no Zope que permite que haja uma interatividade entre os programadores e os designers de uma forma muito agradável.

    Com ZPT, o designer pode criar toda a página (seu layout) e colocar os campos (as tags) em seu lugar específico onde entrará a lógica (scripts em Python) do programador. Isso faz com que a página separe o visual da lógica.

    Então, qual é o objetivo do ZPT? É ser uma linguagem que possibilite a feliz união do programador com o designer.

  • O Zope fornece dois mecanismos para a criação de modelos de páginas:

    DTML: Dynamic Template Markup Language ( Linguagem Dinâmica de Marcação de Modelos),

    e

    ZPT: Zope Page Templates ( Modelos de Páginas Zope).

    ----> O DTML é uma linguagem de marcação que permite implementar lógica simples em modelos, através de laços, condicionais e inserção de variáveis.

    No entanto, o DTML apresenta alguns problemas comuns às linguagens deste tipo: os modelos não podem ser verificados por validadores HTML, e a inclusão indiscriminada de lógica nos modelos resulta em código pouco legível e difícil de manter.

    ----> ZPT é uma tecnologia que ataca estes problemas. Modelos ZPT são formadas por XML  ou  HTML válido, nas quais toda a codificação é feita através de atributos dentro das etiquetas já existentes nestas linguagens. Tais atributos utilizam um espaço de nomes especial, denominado tal: Template Attribute Language (Linguagem de Atributos para Modelos), e assim são compatíveis com as especificações do  e com as principais ferramentas de edição de HTML.

    ZPT proporciona apenas um conjunto limitado de recursos, estimulando os programadores a implementar a lógica em Scripts Python à parte, que são apenas invocados (e não incluídos) nos modelos.

    ZPT também fornece suporte à  e localização de aplicativos web, propiciando a substituição de mensagens por versões previamente traduzidas em múltiplas línguas.

  • Filtro do QC é igual à peneira aqui de casa.

    #paz

    Não sei o que é ZOPE e quero aprender pytohn.

    OBS: Método nishimura não funcionou aqui.

  • ZOPE e ZPT cai na PF? kkkkkkkkkkk. Pq tá difícil hein! Só aparece questões de professor de informática e Analista de Redes e afins.


ID
946924
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2013
Provas
Disciplina
Programação
Assuntos

Acerca das linguagens de implementação de regras de negócio, julgue os itens seguintes.

No Python 3.0, foi disponibilizado um módulo de debug, chamado faulthandler, aplicável exclusivamente para os casos de falha de sistema.

Alternativas
Comentários
  • ERRADO!
    Exclusivamente é muito exclusivo;
  • Concordo com o Julio, ser exclusivo é muito restrito para a questão. 

    faulthandler é um novo módulo, introduzido em Python 3.3, ele permite que um "traceback" seja salvo quando um erro fatal (fatal error) ocorrer, tais como "segmentation fault", divisão por zero, mensagens abortadas ou erro no "bus". Você pode ativá-lo dentro de um aplicativo usando o faulthandler.enable(), ou colocando a opção -X faulthandler no executável do Python, ou com a variável de sistema.

    Desta forma entendo que ele é utilizado para capturar um erro fatal ocorrido que pode ser qualquer um desde falha do sistema por indisponibilidade de conexão ate bugs ocorridos por código mau implementado, o que vai importar aqui é se o erro causado é fatal ou não

  • Python 3.3,

  • Gabarito errado

     

    O debugger

    Depuradores são ferramentas feitas para auxiliar o desenvolvedor a descobrir falhas em seu código. Eles permitem que executemos um programa passo-a-passo, que a cada passo inspecionemos as variáveis, que verifiquemos em que seção do código está a execução do programa, além de outros recursos. Para mim, o melhor dos recursos é poder inspecionar os valores aos quais as variáveis referenciam durante a execução passo-a-passo do programa.

     

    https://pythonhelp.wordpress.com/2012/12/31/deu-erro-e-agora-o-que-eu-faco/

  • GABA ERRADO

    faulthandler é aplicavel em caso de falha do sistema,mas NÃO é disponibilizado EM MODULO DE DEBUG

    Fonte: estrategia Concursos

  • O início da afirmativa “No Python 3.0, foi disponibilizado um módulo de debug, chamado faulthandler” está correto. O Python 3 introduziu na biblioteca padrão o faulthandler, destinado a fazer debug de código Python. Para ativá-lo, você deve fazer o import e ativá-lo da seguinte forma.

     

    Após isso, se ocorrer algum erro fatal no restante do seu código Python, poderá visualizar o estado da memória no momento do erro e entender melhor o que ocorreu.

    O erro da assertiva está na segunda parte quando o avaliador diz que o faulthandler é “aplicável exclusivamente para os casos de falha de sistema”. Isso não é verdade. O faulthandler se aplica não só a casos de falha de sistema, mas também a falhas de aplicação, o que inclui erros no próprio código Python, como por exemplo uma divisão por zero.

    Resposta: Errado

  • O início da afirmativa “No Python 3.0, foi disponibilizado um módulo de debug, chamado faulthandler” está correto. O Python 3 introduziu na biblioteca padrão o faulthandler, destinado a fazer debug de código Python. Para ativá-lo, você deve fazer o import e ativá-lo da seguinte forma.

     

    Após isso, se ocorrer algum erro fatal no restante do seu código Python, poderá visualizar o estado da memória no momento do erro e entender melhor o que ocorreu.

    O erro da assertiva está na segunda parte quando o avaliador diz que o faulthandler é “aplicável exclusivamente para os casos de falha de sistema”. Isso não é verdade. O faulthandler se aplica não só a casos de falha de sistema, mas também a falhas de aplicação, o que inclui erros no próprio código Python, como por exemplo uma divisão por zero.

    Resposta: Errado

  • O certo é no Python 3.3

  • Pessoal, este modulo de debug, foi liberado na versão 3.3 do Python.

    Resposta: Errado

  • ERRADO

    O Python 3.3 inclui um módulo chamado faulthandler que exibe informações úteis de rastreamento se ocorrer um segfault. (Para versões Python anteriores a 3.3, o módulo pode ser obtido no PyPI.)

     

    O módulo não é habilitado por padrão. É habilitado assim:

     

    importar manipulador de falhas

    faulthandler.enable ()

    Esse recurso é muito útil.

  • qualquer questão que fala "exclusivamente" pode ficar esperto!!

  • Essa questão caiu na prova da PF 2018. Muito boa para revisar.

    • “No Python 3.0, foi disponibilizado um módulo de debug, chamado faulthandler” -> correto.
    • O Python 3 introduziu na biblioteca padrão o faulthandler, destinado a fazer debug de código Python. Para ativá-lo, você deve fazer o import e ativá-lo da seguinte forma.
    • 1. import faulthandler
    • 2. faulthandler.enable()
    • Após isso, se ocorrer algum erro fatal no restante do seu código Python, poderá visualizar o estado da memória no momento do erro e entender melhor o que ocorreu.
    • “aplicável exclusivamente para os casos de falha de sistema”. -> ERRADO -> O faulthandler se aplica não só a casos de falha de sistema, mas também a falhas de aplicação, o que inclui erros no próprio código Python, como por exemplo uma divisão por zero.

ID
947242
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2013
Provas
Disciplina
Programação
Assuntos

As linguagens de script podem ser utilizadas para estender funcionalidades de um programa. Acerca da linguagem Python, julgue os itens seguintes.

O Python, no modo interpretador, aborta a execução do código com o status de erro, imprime a pilha dos erros na console e gera o log correspondente, quando o erro ocorre dentro do bloco try.

Alternativas
Comentários
  • nao conheço python
    mas da pra responder a questao fazendo analogia com try do Java
  • Fonte: http://pt.wikibooks.org/wiki/Python/Conceitos_b%C3%A1sicos/Erros_e_exce%C3%A7%C3%B5es

    O erro do Python é chamado de Traceback que é uma pilha criada quando ocorre a exceção. Guido van Rossum escreveu na documentação oficial que “quando ocorre uma exceção, o interpretador procura por um bloco de tratamento de exceções e então começa a desempilhar cada elemento da pilha de execução. Então desta forma saberemos quantos níveis depois do tratador de erros que houve a exceção”.

    Desta forma, pelo que entendi, Python no modo interpretador não gera o log correspondente e sim o imprime.
  • O erro da questão está em dizer que aborta a execução do código quando ocorre o erro dentro do bloco Try. Não necessariamente precisa ser abortado o o código, pois dentro do Try pode haver tratamentos de erros e o código continuar sendo executado.

  • Mr Robot, o problema é q vc quebra muito a cara se comparar java com Python hehe

  • blocos TRY são justamente para tratar possíveis erros/exceções; Se o erro ocorrer dentro de um destes blocos, o programador pode executar alguma rotina de contingência visando manter o sistema em execução ou ao menos informar o usuário de modo amigável o que está ocorrendo.

  • Errado

    O QUE É E PARA QUE SERVE UM BLOCO TRY CATCH. O bloco Try-Catch é utilizado para o tratamento de exceções, ou seja, erros que ocorrem em tempo de execução e podem derrubar a aplicação. Com o bloco “try” “captura” e pode identificar o erro, e tratá-lo da maneira que achar mais conveniente no bloco “catch”

  • Pessoal, vamos entender como funciona o tratamento de erros no Python.

    Em 1o lugar, se o código estiver com um erro sintático, esse erro é identificado na hora da compilação, antes de iniciar a execução do código. No trecho abaixo, existe um erro sintático na linha 4, depois do if x > 0 deveria ter um : (dois pontos). O correto sintaticamente seria if x > 0:. Neste caso, na hora da compilação o Python geraria um SintaxError.

    Este código está sintaticamente correto. O erro ocorrerá somente em tempo de execução na linha 3. Na hora de fazer a divisão por zero, o interpretador Python interromperá o programa e lançará o erro do tipo ZeroDivisionError.

    Python permite o tratamento de erros por meio da estrutura try-except. Funciona da seguinte forma. Você coloca um trecho de código dentro de um bloco try. Se ocorrer algum erro de execução dentro desse bloco, o programa não será interrompido, mas pulará para o trecho except para tratamento do erro.

    O código acima está sintaticamente correto. O interpretador, após verificar que não há erro de sintaxe, iniciará a execução do script Python linha a linha. Quando chegar na linha 4 ocorre um erro de execução, uma divisão por zero. Apesar desse erro, o programa não será finalizado devido ao fato de o erro ocorrer dentro do bloco try. Neste caso, ele pulará para o except e fará o print da linha 6. Após isso, ele segue a execução normal das linhas 8, 9 e 10. Para isso que serve o try-except. Para tratar erros em tempo de execução e não abortar o programa.

    Vamos voltar ao enunciado da questão.

    “O Python, no modo interpretador, aborta a execução do código com o status de erro, imprime a pilha dos erros na console e gera o log correspondente, quando o erro ocorre dentro do bloco try.”

    Isto está errado. Como vimos, se o erro ocorre dentro do try, a execução do código não é abortada.

    Resposta: Errado

  • Assertiva E

    O Python, no modo interpretador, aborta a execução do código com o status de erro, imprime a pilha dos erros na console e gera o log correspondente, quando o erro ocorre dentro do bloco try.

  • Assertiva E

    O Python, no modo interpretador, aborta a execução do código com o status de erro, imprime a pilha dos erros na console e gera o log correspondente, quando o erro ocorre dentro do bloco try.

    Repare

    try/except

    Uma outra abordagem que poderíamos seguir seria nos basear pela exceção, não pela linha. Ou seja, em vez de "se a linha for x, faça y", tratar como "se uma exceção acontecer, faça y...

  • Cara, pra que copiar a questão nos comentários ?

  • Uma outra abordagem que poderíamos seguir seria nos basear pela exceção, não pela linha. Ou seja, em vez de "se a linha for x, faça y", tratar como "se uma exceção acontecer, faça y...

    Resposta: Errado

  • ERRADO

    Bloco  TRY/CATCH serve para tratamento de exceções, tratamento de códigos que podem não ser totalmente atendidos e gerarem alguma exceção/erro.

    TRY consegue recuperar erros que possam ocorrer no código fornecido em seu bloco.

    CATCH por sua vez faz o tratamento dos erros que aconteceram.

  • https://www.youtube.com/watch?v=xz2B3bfNjEk

    Melhor canal de TI

    minuto 7 ele começa a tratar do assunto

  • Já explicaram sobre o que é o Try, aqui vai um exemplo:

    • try:
    •   print(x)
    • except:
    •   print("Não tem x definido seu mané")

    #O resultado será a frase "Não tem x definido seu mané", por que eu não defini um x antes da função, sacaram? O Try tenta fazer algo, se não der, em vez de apresentar um erro, ele executa o except;

    Se eu tivesse um x definido, ele iria executar o print(x), assim:

    • x = "Deu certo, sem erros."
    • try:
    •   print(x)
    • except:
    •   print("Não tem x definido seu mané")

    #iria imprimir "Deu certo, sem erros."


ID
984682
Banca
CESPE / CEBRASPE
Órgão
MPOG
Ano
2013
Provas
Disciplina
Programação
Assuntos

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.


Um sítio web com Zope, um servidor de aplicações web escrito em Python, é formado por objetos em arquivos, tal como a maioria dos servidores de aplicação web.

Alternativas
Comentários
  • Os objetos que o Zope publica na Web são escritos em linguagem Python, e tipicamente armazenados num banco de dados orientado a objetos, o ZODB, que é integrado ao sistema.

    Um sítio em Zope é formado por objetos em um banco de dados em vez de arquivos, como é comum em muitos outros servidores de aplicação web. 


  • Gaba: ERRADO

    Comentários: ...é formado por objetos em ARQUIVOS...

    isso tem mais cara de descrição de windows Explorer, gerenciador de arquivos e pastas.

  • objetos em banco de dados e não em arquivos! 

    Arquivos são ineficientes, redundantes, etc...

  • Um sítio em Zope é formado por objetos em um banco de dados em vez de arquivos, como é comum em muitos outros servidores de aplicação web. Esta abordagem permite alavancar as vantagens do paradigma de objetos, como encapsulamento. Zope associa URLs a objetos utilizando a hierarquia de partes (composição); os métodos são considerados como partes dos objetos.

  • BANCO DE DADOS? SIM!

    ARQUIVOS? NÃO!

  • Errado!

    Um sítio em Zope é formado por objetos em um banco de dados em vez de arquivos, como é comum em muitos outros servidores de aplicação web.

    Fonte: Wikipédia

  • MEC - 2015 - CESPE - A respeito de sistemas de gerenciamento de conteúdo e de acessibilidade, julgue o seguinte item. Plone é uma extensão do CMF (content management framework), desenvolvido na linguagem Python, que utiliza o servidor Zope e tem a desvantagem de somente ser compatível com o banco de dados ZODB (zope object database). [ERRADA] O lone roda em praticamente qualquer plataforma.

    ANTT - 2013 - CESPE - Julgue os itens a seguir, com relação às tecnologias empregadas nos servidores de aplicação web. O Zope é um servidor de aplicações web, escrito em Python, com banco de dados orientado a objetos ZODB. O Zope não permite a criação de aplicações web embasadas em componentes. [ERRADA] O Zope é um servidor de aplicações web, escrito em Python, com banco de dados orientado a objetos ZODB, que permite a criação de aplicações web embasada em componentes já que o suporte a componentes é a principal função de um servidor de aplicação, seja ele em qualquer linguagem de programação.

    MPOG - 2013 - CESPE - Um sítio web com Zope, um servidor de aplicações web escrito em Python, é formado por objetos em arquivos, tal como a maioria dos servidores de aplicação web[ERRADA] Errada, pois os objetos estão em bancos de dados e não em arquivos.

    SERPRO - 2013 - CESPE - Um dos mecanismos de criação de modelos de páginas fornecido pelo Zope é o ZPT, que disponibiliza uma quantidade limitada de recursos, estimulando a implementação de lógica em scripts Python que são invocados nos modelos. [CERTA] O Zope fornece dois mecanismos para a criação de modelos de páginas: Dynamic Template Markup Language (DTML: Linguagem Dinâmica de Marcação de Modelos), e Zope Page Templates (ZPT: Modelos de Páginas Zope). ZPT proporciona apenas um conjunto limitado de recursos, estimulando os programadores a implementar a lógica em scripts Python à parte, que são apenas invocados (e não incluídos) nos modelos.

    BANCO DA AMAZÔNIA - CESPE - 2010 - Zope é um servidor de aplicação open source desenvolvido utilizando-se exclusivamente a linguagem Python. O Zope possui banco de dados orientado a objetos integrado denominado Plone. [ERRADA] O banco de dados do ZOPE chama-se ZODB, não é desenvolvido utilizando-se apenas a linguagem Pyhton, mas também a C++ e Plone é um sistema robusto de gerenciamento de conteúdo escrito na linguagem Python e que é executado sobre o Servidor de Aplicações Zope e sobre o framework CMF (Content Management Framework).

  • Um sítio em Zope é formado por objetos em um banco de dados em vez de arquivos, como é comum em muitos outros servidores de aplicação web. 


ID
984688
Banca
CESPE / CEBRASPE
Órgão
MPOG
Ano
2013
Provas
Disciplina
Programação
Assuntos

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.


Embora Ruby seja uma linguagem orientada a objetos e influenciada pelo Smalltalk, seus tipos primitivos não são considerados objetos.

Alternativas
Comentários
  • Errada... em Ruby, tudo é um objeto! Até o Null é um objeto

  • Descreveu o java. Nela, os tipos primitivos não são objetos, embora haja classes para representá-los. String Integer Boolean Float Double Char, são chamadas classes wrappers.
  • seus tipos primitivos são considerados objetos

  • Assertiva E

    Embora Ruby seja uma linguagem orientada a objetos e influenciada pelo Smalltalk, seus tipos primitivos não são considerados objetos.

  • O Ruby é uma linguagem orientada a objetos e influenciada pelo Smalltalk, seus tipos primitivos não são considerados objetos.

    Resposta: Errado

  • Em Ruby, tudo é um objeto. Cada parcela de informação e código podem receber as suas próprias propriedades e ações.

  • ERRADO

    Ruby é considerado uma linguagem puramente orientada a objetos, visto que tudo é considerado um objeto, até mesmo os tipos básicos da linguagem.


ID
984691
Banca
CESPE / CEBRASPE
Órgão
MPOG
Ano
2013
Provas
Disciplina
Programação
Assuntos

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.

Alternativas
Comentários
  • Por estar entre aspas não seria String?

  • Neste comando int("1") , a linguagem Python faz uma conversão implícita do valor String para inteiro.

  • @ Allef Garug
    Por estar entre aspas não seria String?
    R: "1"  é String, porém int converte a String "1" em um número inteiro.

  • Exatamente Nayton, ao se colocar o "int" na frente do comando ele converte o String "1'' ( que seria um texto) em número inteiro. 

    Quem quiser confirmar poder usar o: print(type......

     

  • Está certo, pois em Python até os inteiros são objetos. Os comentários anteriores não explicitavam isso. 

  • Se não tivesse o "int" antes do "1" ele seria uma STRING,

     

    Mas, o comando "int" obrigatoriamente transforma o "1" em inteiro.

     

  • Gaba: CERTO

     

    cara, Python é phod@, terra de niguém, essa porr@ ta certa! tanto faz aí  int("1"), int(1) ele vai guardar 1 como inteiro de qualquer forma, pq antes está o INT(). 

  • CERTO

    se fizer str(10) no python, assumo como um string também, mesmo sendo integer. 

    Se fizer int("10"), assumo como int, mesmo sendo originalmente um string

    Quem quiser mais detalhes:

    http://excript.com/python/tipos-de-dados-python.html

  • Só nao entendi a parte da questao que diz que cria um objeto, para criar um objeto nao precisaria atribuir a um objeto o comando? Conforme exemplo abaixo:

    >>> objeto1 = int("1")
    >>> objeto1
    1
    >>> print(type(objeto1))

     

     

  • Tbm não entendi pq cria um objeto.... 

    Independente se eu colocar  int ou string e o 1 entre aspas ou não, e pedir o type do (segundo a cespe, objeto) 1, ele sempre retornará int.....

     

    O comando int("1") não cria um objeto...... Só criaria conforme o José Silva falou, né?

  • "Em Phyton, tudo é objeto..."

     

    https://pythonhelp.wordpress.com/2013/03/01/entendendo-tudo-e-objeto-em-python/

  • O método int() do Python serve sim para criar um objeto do tipo int. Esse método pode receber tanto um número quanto um string a ser convertido para um inteiro. Portanto, o fato de no enunciado ser passado o string “1” não é problema. Esse string será convertido para um inteiro 1.

    Resposta: Certo

  • Apesar do gabarito, está ERRADA!

    Eu parei pra pensar um pouco e estudar, e consertei o meu argumento:

    Primeiro, vejam a documentação oficial do python sobre a função int()

    "Return an integer object constructed from a number or string x, or return 0 if no arguments are given."

    Tradução: retorna um objeto inteiro construído a partir de um número ou string (...)"

    O 1º erro seria que a função não cria, mas retorna um objeto string.

    O 2º é mais técnico. Um construtor é uma função que inicializa um objeto. Funções definem parâmetros, mas quando são chamadas recebem argumentos.

    Ex.:

    def teste(x): # aqui, x é parâmetro

    pass # o editor vai apagar a indentação

    #depois vou chamar a função teste

    teste(1) # 1 é o argumento recebido na chamada da função teste

    Assim, a meu ver caberia recurso para anular a questão.

    fonte: https://docs.python.org/3/library/functions.html?highlight=int#int

  • O conceito principal nessa questão é o que chamamos de "casting" que seria basicamente trasnformar uma variável de um tipo em outro tipo, quando você usa int("1"), está transformando uma string "1" em um inteiro 1.

    A função int () retorna um objeto inteiro construído a partir de um número ou string, ou retorna 0 se nenhum argumento for fornecido.

  • O método int() do Python serve sim para criar um objeto do tipo int. Esse método pode receber tanto um número quanto um string a ser convertido para um inteiro. Portanto, o fato de no enunciado ser passado o string “1” não é problema. Esse string será convertido para um inteiro 1.

    Resposta: Certo

  • Gabarito: certo

    Essa é uma função de casting! O que ela faz? Bem, ela converte variáveis do tipo inteiro, ponto

    flutuante ou string em um inteiro. No caso, ele está recebendo um número como string (por conta

    das aspas) e convertendo em um inteiro. Esse número serve de parâmetro para o seu construtor

    (que é um método que cria um objeto, mas vocês não precisam saber disso).

    Fonte: estratégia concursos

  • Meus queridos, o que acontece é o seguinte, existe uma função no Python chamado casting, que transforma um tipo de variável em outro tipo.

    Resposta: Certo

  • Essa é uma função de casting! O que ela faz? Bem, ela converte variáveis do tipo inteiro, ponto flutuante ou string em um inteiro. No caso, ele está recebendo um número como string (por conta das aspas) e convertendo em um inteiro. Esse número serve de parâmetro para o seu construtor (que é um método que cria um objeto, mas vocês não precisam saber disso).

    Fonte: Estratégia

  • CERTO

    TIPOS PRIMITIVOS

    - int = número inteiro

     Ex: -7, 4, 0

  • O método int() do Python serve sim para criar um objeto do tipo int. Esse método pode receber tanto um número quanto um string a ser convertido para um inteiro. Portanto, o fato de no enunciado ser passado o string “1” não é problema. Esse string será convertido para um inteiro 1.

    Prof. Hamilton Rodrigues

  • Só uma observação...

    >>> x = "letras"; type(x)

    <class 'str>

    >>> int(x)

    ERRO!!!

    Pensei que Python converteria a variável "x" que é string em um número inteiro, mas não ocorreu isso, deu erro.

  • (Correto)

    Pega o bizu:

    Float --> valores com decimais

     

    bool --> valor True ou False (Verdadeiro ou Falso).

     

    int --> para números inteiros,

     

    float --> para números com casas decimais,

     

    str --> para conjunto de caracteres,

     

    list --> para agrupar um conjunto de elementos,

     

    tupla --> semelhante ao tipo list, porém, imutável

  • TUDO QUE VIER ENTRE ASPAS É CONSIDERADO UMA STRING, ATÉ MESMO NÚMEROS.

  • FUNÇÕES DE CASTING:

    int() : Converte variáveis do tipo inteiro, ponto flutuante ou string em um número INTEIRO

    Exemplo:

    x = int(500) -> x será 500

    y = int(4.8) -> y será 4

    z = int('6') -> z será 6

  • Cadê o comentário do professor?

  • Comando int( ) : Converte um objeto em número inteiro.

    • O método int() do Python serve sim para criar um objeto do tipo int.
    • Esse método pode receber tanto um número quanto um string a ser convertido para um inteiro.
    • Portanto, o fato de no enunciado ser passado o string “1” não é problema.
    • Esse string será convertido para um inteiro 1.
  • A função int() converte um dado string para um número inteiro.

  • CERTO

    str (string/texto): tudo que tiver dentro de aspas " " ou ' ' é texto, mesmo se for um número. 

    ex 1: "ricardo" , "7,5" (tudo texto)

    ex 2

    n1 = ("5")

    n2 = ("2")

     print (n1 + n2)

    52 

    (só concatenou, juntou os números, pois é considerado texto o que está entre aspas)

    _______

    obs: No caso em questão, não foi considerado string (texto), pelo fato do int estar na frente 

  • Está certo dizer que o tipo int é um objeto?

ID
1119388
Banca
FGV
Órgão
DPE-RJ
Ano
2014
Provas
Disciplina
Programação
Assuntos

Considere o seguinte trecho de um programa escrito na linguagem Python.

class Carro(object):
def FaleComigo(self):
print "Sou um carro"

class Fusca (Carro):
def FaleComUmFusca(self):
print "Sou um Fusca"

x = Carro()
y = Fusca()

x.FaleComigo()
y.FaleComigo()

No primeiro bloco, o método FaleComigo é definido para a classe Carro, que simplesmente produz a mensagem “Sou um carro” ao ser invocado. Para a classe Fusca, definida no segundo bloco, foi definido o método FaleComUmFusca, que apenas produz a mensagem “Sou um Fusca”. No terceiro bloco, os objetos x e y tornam-se instâncias das classes Carro e Fusca, respectivamente. No quarto bloco, o método FaleComigo é invocado para cada um dos dois objetos, x e y. Ao ser executado, esse programa produz duas linhas na sua tela de saída:

Sou um carro
Sou um carro

A mensagem produzida no comando y.FaleComigo deve-se ao mecanismo de

Alternativas
Comentários
  • Deve-se atentar que, apesar de ter sido instanciado um objeto fusca:  y = Fusca() ; Ao final do código, o programa chama um método implementado na superclasse, através de um objeto da subclasse. Essa capacidade é derivada do mecanismo de herança, onde todas as características, inclusive os métodos, da superclasse são herdados pela subclasse.


    A letra E deve ter gerado dúvida mas, só seria o gabarito caso o método FaleComUmFusca(self) fosse denominado como FaleComigo(self). Aí teríamos um caso de polimorfismo dinâmico, onde a escolha do método a ser utilizado se dá em tempo de execução, com base no objeto instanciado.
  • Herança é o mecanismo pelo qual estendemos a funcionalidade de uma classe. Por exemplo, suponha que a gente precise representar veículos de diferentes marcas e modelos em um programa. Uma abordagem é criar uma classe para representar cada veículo diferente.

    Fonte: https://algoritmosempython.com.br/

    No caso em tela, FUSCA é um tipo de CARRO, herdando o estado e comportamento da classe CARRO.


ID
1119505
Banca
FGV
Órgão
DPE-RJ
Ano
2014
Provas
Disciplina
Programação
Assuntos

  Considere o seguinte trecho de um programa escrito na linguagem Python.

  class Carro(object):
        def FaleComigo(self):
                print "Sou um carro"

    class Fusca (Carro):
        def FaleComUmFusca(self):
                print "Sou um Fusca"

     x = Carro( )
     y = Fusca( )

    x.FaleComigo( )
    y.FaleComigo( )

No primeiro bloco, o método FaleComigo é definido para a classe Carro, que simplesmente produz a mensagem “Sou um carro” ao ser invocado. Para a classe Fusca, definida no segundo bloco, foi definido o método FaleComUmFusca, que apenas produz a mensagem “Sou um Fusca”. No terceiro bloco, os objetos x e y tornam-se instâncias das classes Carro e Fusca, respectivamente. No quarto bloco, o método FaleComigo é invocado para cada um dos dois objetos, x e y. Ao ser executado, esse programa produz duas linhas na sua tela de saída:

Sou um carro
Sou um carro

A mensagem produzida no comando y.FaleComigo deve-se ao mecanismo de

Alternativas
Comentários
  • Quando falamos de herança, você terá que ser capaz de determinar se ele mostra um relacionamento “É UM”, ou “TEM UM”.

    Exemplo:

    Fusca é um carro

    Carro é uma superclasse de Fusca

    Fusca é uma subclasse de Veículo

    O termo “É UM”, é uma forma de dizer cada objeto de uma subclasse também é um objeto da superclasse, ou seja, o objeto de um tipo de subclasse também pode ser tratado como objeto de uma superclasse.

     

  • Observe que a classe Fusca é uma subclasse (também chamada de especialização) da classe Carro. Nestes casos, a classe filha herda da classe mãe seus atributos e métodos e ainda acrescenta alguma especialização, isto é, adiciona atributos e métodos exclusivos da classe filha.

    No enunciado em questão, a classe Fusca herda da sua mãe, a classe Carro, o método FaleComigo e ainda acrescenta o método FaleComUmFusca, exclusivo da classe filha Fusca.

    Na última linha do código é feita a chamada y.FaleComigo(). Isso é perfeitamente válido em Python porque o objeto y, apesar de não ter definido nenhum método FaleComigo, herdou este método de sua mãe Carro.

    Isso se deve ao mecanismo de herança.

    Resposta: D

  • Na questão, o comportamento invocado no objeto da classe-filha Fusca não está declarado na própria classe, mas na sua classe-pai Carro. Temos então um comportamento herdado devido ao mecanismo de herança.

  • Resposta do Professor Hamilton Rodrigues:

    Observe que a classe Fusca é uma subclasse (também chamada de especialização) da classe Carro. Nestes casos, a classe filha herda da classe mãe seus atributos e métodos e ainda acrescenta alguma especialização, isto é, adiciona atributos e métodos exclusivos da classe filha.

    No enunciado em questão, a classe Fusca herda da sua mãe, a classe Carro, o método FaleComigo e ainda acrescenta o método FaleComUmFusca, exclusivo da classe filha Fusca.

    Na última linha do código é feita a chamada y.FaleComigo(). Isso é perfeitamente válido em Python porque o objeto y, apesar de não ter definido nenhum método FaleComigo, herdou este método de sua mãe Carro.

    Isso se deve ao mecanismo de herança.

    Resposta: D


ID
1119937
Banca
FGV
Órgão
DPE-RJ
Ano
2014
Provas
Disciplina
Programação
Assuntos

Considere as seguintes linguagens de programação:

                          C C++ C# Java VB.NET SmallTalk Python

Dessa lista, a linguagem que não oferece suporte a orientação objetos é :

Alternativas
Comentários
  • Pfvr, caia na minha prova kkkk

  • Muitas das linguagens de programação mais utilizadas atualmente (talvez a maioria) são multi-paradigma com suporte à POO. C++, C#, VB.NET, Java, Object Pascal, Objective-C, Python, SuperCollider, Ruby e Smalltalk são exemplos de linguagens de programação orientadas a objetos. ActionScript, ColdFusion, Javascript, PHP (a partir da versão 4.0), Perl (a partir da versão 5), Visual Basic (a partir da versão 4), VimL (ou Vim script) são exemplos de linguagens de programação com suporte a orientação a objetos. Vivace[3] é um exemplo de linguagem sem suporte à POO.

  • Prezados, 

    A linguagem C ainda é uma linguagem não orientada a objetos. O C++ entrou como linguagem que usa uma sintaxe baseada no C , mas com o suporte a orientação a objetos.

    Portanto a alternativa correta é a letra A



ID
1119940
Banca
FGV
Órgão
DPE-RJ
Ano
2014
Provas
Disciplina
Programação
Assuntos

Considere o seguinte trecho de um programa escrito na linguagem Python.

                 class Carro(object): 
                       def FaleComigo(self): 
                             print "Sou um carro"

                 class Fusca (Carro): 
                       def FaleComUmFusca(self): 
                             print "Sou um Fusca"

                 x = Carro()
                 y = Fusca()

                 x.FaleComigo()
                 y.FaleComigo()

No primeiro bloco, o método FaleComigo é definido para a classe Carro, que simplesmente produz a mensagem “Sou um carro” ao ser invocado. Para a classe Fusca, definida no segundo bloco, foi definido o método FaleComUmFusca, que apenas produz a mensagem “Sou um Fusca”. No terceiro bloco, os objetos x e y tornam-se instâncias das classes Carro e Fusca, respectivamente. No quarto bloco, o método FaleComigo é invocado para cada um dos dois objetos, x e y. Ao ser executado, esse programa produz duas linhas na sua tela de saída:

                                Sou um carro
                                Sou um carro

A mensagem produzida no comando y.FaleComigo deve-se ao mecanismo de :

Alternativas
Comentários
  • Acredito que a resposta seria Polimorfismo se tivessemos uma instância da classe Filha sendo referenciada por uma classe Mãe. Não conheço bem Python pra saber o quanto isso é comum.

  • Quando falamos de herança, você terá que ser capaz de determinar se ele mostra um relacionamento “É UM”, ou “TEM UM”.

     

    Exemplo:

    Fusca é um carro

    Carro é uma superclasse de Fusca

    Fusca é uma subclasse de Veículo

     

    O termo “É UM”, é uma forma de dizer cada objeto de uma subclasse também é um objeto da superclasse, ou seja, o objeto de um tipo de subclasse também pode ser tratado como objeto de uma superclasse.

     

  • Alternativa correta: D.

    .

    O mecanismo que forneceu o comportamento em questão é a HERANÇA, e não o polimorfismo.

    .

    Quando a classe Fusca herdou de Carro, ela não sobrescreveu ou sobrecarregou o método FaleComigo(). Isso fez com que a chamada da última linha retornasse o método "original", sem alterações.

    • Observe que a classe Fusca é uma subclasse (também chamada de especialização) da classe Carro. Nestes casos, a classe filha herda da classe mãe seus atributos e métodos e ainda acrescenta alguma especialização, isto é, adiciona atributos e métodos exclusivos da classe filha.
    • No enunciado em questão, a classe Fusca herda da sua mãe, a classe Carro, o método FaleComigo e ainda acrescenta o método FaleComUmFusca, exclusivo da classe filha Fusca.
    • Na última linha do código é feita a chamada y.FaleComigo(). Isso é perfeitamente válido em Python porque o objeto y, apesar de não ter definido nenhum método FaleComigo, herdou este método de sua mãe Carro. Isso se deve ao mecanismo de herança.

ID
1190347
Banca
FGV
Órgão
DPE-RJ
Ano
2014
Provas
Disciplina
Programação
Assuntos

Considere o seguinte trecho de um programa escrito na linguagem Python. 


                                       class Carro(object):                                                   
                                             def FaleComigo(self):                                      
                                                   print "Sou um carro"

                                       class Fusca (Carro):                              
                                             def FaleComUmFusca(self):                                    
                                                   print "Sou um Fusca"

                                       x = Carro()                         
                                       y = Fusca()

                                       x.FaleComigo()                         
                                       y.FaleComigo()



                                  

No primeiro bloco, o método FaleComigo é definido para a classe Carro, que simplesmente produz a mensagem “Sou um carro” ao ser invocado. Para a classe Fusca, definida no segundo bloco, foi definido o método FaleComUmFusca, que apenas produz a mensagem “Sou um Fusca”. No terceiro bloco, os objetos x e y tornam-se instâncias das classes Carro e Fusca, respectivamente. No quarto bloco, o método FaleComigo é invocado para cada um dos dois objetos, x e y. Ao ser executado, esse programa produz duas linhas na sua tela de saída: 

                       
                          Sou um carro
                          Sou um carro


A mensagem produzida no comando y.FaleComigo deve-se ao mecanismo de

Alternativas
Comentários
  • herança:

    É uma forma de reutilização de software em que uma nova classe é criada absorvendo membros de uma classe existente e aprimorada com capacidades novas ou modificadas. Afirma-se que é uma relação entre classes.

     

     

  • Os objetos assumiram as caracteristicas das classes, assim herdando os metodos declarados nelas. 

  • Prezados,

    Vocês podem ver que a classe Fusca não possui o método FaleComigo , ele é herdado da classe Carro.

    Portanto a alternativa correta é a letra D



ID
1209313
Banca
CESPE / CEBRASPE
Órgão
TJ-SE
Ano
2014
Provas
Disciplina
Programação
Assuntos

No que se refere às linguagens de programação e a scripts, julgue os itens subsequentes.

Considere o seguinte código escrito em Perl.

if (a < 0) {

    /* Code blocking */

}


O código acima apresentado pode ser escrito, de forma equivalente, na linguagem Python, usando os comandos a seguir.

if (a.lt.0)

    then  

   Code blocking

endif

Alternativas
Comentários
  • if <condição>:

         bloco verdadeiro

    else:

         bloco Falso

     

    Pode-se usar elif para substituir múltiplos ifs.

  • if a.lt.0 :
       Code blocking 

     

    Se precisar de else

    if a.lt.0 :
       Code blocking 

    else:

       Code blocking 

    Não esqueçam que python considera INDENTAÇÃO para compilar o código, ou seja, os espaços de recuo apartir da esquerda fazem a diferença. Ex:

    if :

        executa rotina 1

    executa rotina 2

    A rotina 1 será executada somente se a condição for satisfeita (está indentado dentro do IF). A rotina 2 será SEMPRE executada, está fora da condição IF.

  • o segundo código lembra shell script e C++ ou uma mistura dos dois, mas python não

  • Alguem pode explicar de uma forma mais simples...

  • QC, cadê as aulas de linguagens de programação Phyton???

  • Errado (no chute)

    Saudades de economia...

    hahahahaha

  • Na estrutura de decisão do  Pyton nao é necessário utilizar "then" nem "endif". Tambem deve ser respeitada a IDENTAÇÃO (organização dos blocos logicos de comando sequenciais)

    ex.:

    >>> a = 0
    >>> if a < 3:
    >>>     a = a + 1
    >>> print(a)
    1

  • Gabarito errado

     

    Exemplos de comandos no Python:

     

    Expressões Condicionais

    if

    Se a condição for True (verdadeira) então execute comando.
    No caso de haver mais de uma condição fica assim:

    if condição1 and/or condição2: comando

     

    else

    Usado para o caso de a condição testada der False.
    Se a condição for True, execute comando 1senão (ELSE), execute comando 2.

    if condição: comando1 else: comando2

     

    elif

    Usado para verificação de vários casos.
    Se a condição1 for True, então execute comando1; se a condição2 for True, execute comando2senão execute o comando3.

    if condição1: comando1 elif condição2: comando2 else: comando3

     

    Lists

    list.count(valor) → conta o número de ocorrências de “valor”

    >>> mangueio = ['banana', 'maca', 'jaca', 'laranja', 'banana']

    >>> mangueio.count('banana') 2

     

    list.append(valor) → adiciona “valor” ao final da lista

    >>> mangueio = ['banana', 'maca', 'jaca', 'laranja']

    >>> mangueio.append('melao')

    >>> print mangueio ['banana', 'maca', 'jaca', 'laranja', 'melao']

     

    Strings

    Strings são concatenáveis através de soma

    >>> 'laranja' + ' e amarelo' 'laranja e amarelo'

     

    quer ver mais comandos? 

     

    Acessa abaixo:

    https://we.riseup.net/python/comandos-b%C3%A1sicos-de-pytohn

  • O comando if em Python, tem a seguinte estrutura:

    if a < 0:

        # codigo 

     

    O trecho a < 0 é o mesmo que (a < 0), pode ou não estar entre parênteses. O importante é o ':' depois do if, e o bloco de código indentado.

  • Bem simples. Não precisa entender nem o que o primeiro código em Perl significa, tendo em vista que filtrei o assunto de Python. Basta saber que o 'if' em Python necessita da seguinte sintaxe:

    if ( condição ):

    faça isso

    Ou seja, precisa de dois pontos após o comando condicional.

  • GAB: ERRADO

    Na linguagem Python, não se usa a condição do IF entre parêntesesif (a.lt.0) – e também não se finaliza o bloco do IF com ENDIF. E, e ao invés da tag THEN, usamos “:”.

  • Não tem dois pontos após o if, não precisa entender mais nada. Gabarito errado.

  • cade os professores do qconcursos respondendo essas questões de python

  • Essa eu nem marquei, não sei nem errar.

  • Errado, em programação precisamos que determinado código seja executado apenas se uma determinada condição for verdadeira. Neste caso podemos utilizar "if".

    O if é uma estrutura de condição que permite avaliar uma expressão e, de acordo com seu resultado, executar uma determinada ação. Essa estrutura é formada pela palavra reservada if, seguida por uma condição e por dois pontos (:) exemplo: if idade < 20:

  • PESSOAL NAO SEI NADA DE PYTHON, PORÉM PODEMOS ACERTAR ALGUMAS QUESTÕES COM A DECOREBA.

    SEMPRE Q VCS VIREM O COMANDOS

    IF()

    FOR()

    WHILW ()

    TEM Q TER OS DOIS PONTOS

  • Par início de conversas, temos vários erros de sintaxe, o que de cara já anula a questão.

    Resposta: Errado

  • Só sei que esta tudo ERRADO!

  • ✅Gabarito(Errado)

    Sobre a expressão "if (a.lt.0)". lt corresponde a uma entidade utilizada em JQuery.

    &lt: Significa o sinal de menor que (<);

    &gt: Significa o sinal maior que (>);

    &le: Significa o sinal de menor ou igual a (≤);

    &ge: Significa o sinal de maior ou igual a (≥);

  • QUESTÃO GROTEXXXCA

    ERRADA

  • Glória Deus

  • * Não tem dois pontos

    * Não Indentação 

    Gab. Errado

  • estamos em 2021 e ainda não tem aula de Phyton na plataforma do QC.

  • Não tem dois pontos, sem identação, se vier umas assim da até pra encarar kakaka

  • PY sem indentação é o mesmo que computador sem internet.

  • RESUMO DAS DUAS MELHORES RESPOSTAS ATÉ 22-12-2021:

    Considere o seguinte código escrito em Perl.

    if (a < 0) {

    /* Code blocking */

    }

    O código acima apresentado pode ser escrito, de forma equivalente, na linguagem Python, usando os comandos a seguir.

    if (a.lt.0)

    then 

    Code blocking

    Endif

    (errado) Em programação precisamos que determinado código seja executado apenas se uma determinada condição for verdadeira. Neste caso podemos utilizar "if". O if é uma estrutura de condição que permite avaliar uma expressão e, de acordo com seu resultado, executar uma determinada ação. Essa estrutura é formada pela palavra reservada if, seguida por uma condição e por dois pontos (:) exemplo: if idade < 20:

    O trecho a < 0 é o mesmo que (a < 0), pode ou não estar entre parênteses. O importante é o ':' depois do if, e o bloco de código indentado.

    ** A verdade é que eu não entendo nada dessa matéria, mas procuro sempre pelos dois pontos. Dá certo sempre? Não, mas já me garantiu umas 4 questões até agora.

    **Se tem alguma coisa errada, manda msg com o número da questão.


ID
1333468
Banca
FCC
Órgão
TRT - 13ª Região (PB)
Ano
2014
Provas
Disciplina
Programação
Assuntos

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:

Alternativas
Comentários
  • Chuetei forte.. Mas vamos la


    Public void seria java


    Function javascript


    Procedire cobol ou uma plqsl da vida

  • function precisa de retorno;

    procedure talvez
    public java
    void java
    def: talvez
  • def igual em Ruby.

  • A palavra-chave [keyword] para definir uma função em Python é def.

    assim:

    def contar(n):

     

    Gabarito: B

  • DECLARANDO FUNÇÕES EM  PYTHON: as funções são indentificadas através da palavra reservada DEF e caso haja algum valor de retorno, a palavra reservada é RETURN.

  • Você poderia se perguntar o que nos levou a saber que na linha 1 é feita a definição de uma função. São 2 os motivos. 1o, contar é uma palavra em português, nunca poderia ser uma palavra reservada do Python. Pelo fato de ser um verbo, indica que provavelmente contar seria uma função. Outra forma de você inferir que contar é uma função é na última linha do código a chamada à função contar.

    Portanto, o que se encaixa corretamente na lacuna I é a palavra reservada do Python destinada a indicar a definição de uma função. Trata-se da palavra def.

    Resposta: B

  • Vamos entender o que o código apresentado pela FCC faz.

    Definição de uma função de nome contar que recebe como parâmetro a variável n

    Corpo da função contar

    Chamada à função contar passando como parâmetro n = 10

    Você poderia se perguntar o que nos levou a saber que na linha 1 é feita a definição de uma função. São 2 os motivos. 1º, contar é uma palavra em português, nunca poderia ser uma palavra reservada do Python. Pelo fato de ser um verbo, indica que provavelmente contar seria uma função. Outra forma de você inferir que contar é uma função é na última linha do código a chamada à função contar.

    Portanto, o que se encaixa corretamente na lacuna I é a palavra reservada do Python destinada a indicar a definição de uma função. Trata-se da palavra def.

    Resposta: b

  •  No Python, uma função é definida utilizando a palavra chave def.

    • Você poderia se perguntar o que nos levou a saber que na linha 1 é feita a definição de uma função. São 2 os motivos. 1º, contar é uma palavra em português, nunca poderia ser uma palavra reservada do Python. Pelo fato de ser um verbo, indica que provavelmente contar seria uma função. Outra forma de você inferir que contar é uma função é na última linha do código a chamada à função contar.
    • Portanto, o que se encaixa corretamente na lacuna I é a palavra reservada do Python destinada a indicar a definição de uma função. Trata-se da palavra def.

    Prof. Victor Dalton, Direção


ID
1365778
Banca
FCC
Órgão
TRT - 13ª Região (PB)
Ano
2014
Provas
Disciplina
Programação
Assuntos

Considere o código abaixo, digitado em Python.

a, b = 0, 1
while b < 10:
   print b
   a, b = b, a+b

No final da execução do código, o último valor armazenado nas variáveis a e b serão, respectivamente,

Alternativas
Comentários
  • 0ITeração:a=0b=1

    1IT:a=1 b=2

    2IT:a=2 b=3

    3IT: a=3 b=5

    4IT:a=5 b=8

    5IT:a=8 b=13

  • Fiquei um bom tempo tentando entender este código. Na verdade o Teo fez errado. O certo é:


    0IT:a=0b=1

    2IT:a=1b=1

    3IT:a=1 b=2

    4IT:a=2 b=3

    5IT: a=3 b=5

    5IT:a=5 b=8

    6IT:a=8 b=13


  • >>> a,b = 0,1
              
    >>> while b < 10:
              print(a, b)
              a,b = b , a+b

              
    0 1
    1 1
    1 2
    2 3
    3 5
    5 8
    >>> a        
    8
    >>> b      
    13
     

    Ou seja, apesar a última resposta ser a=5, b=8 o ultimo valor armazenado para a,b são: a=8, b=13

  • É uma questão de seguência de fibonnaci

  • Antes de mais nada, vamos entender o que o código do enunciado faz.

     

    A última linha do código, a que faz a atribuição dupla das variáveis a e b é a mais importante para a solução da questão.

     

    O 1o elemento, a variável a, recebe o valor de b. E o 2o elemento, a variável b, recebe o valor de a + b.

    Vamos fazer um teste de mesa para observar como o algoritmo se comporta ao longo da execução.

     

    Inicialmente, a = 0 e b = 1.

    a 0

    b 1

    Como b =1, satisfaz a condição para entrada no while (b < 10). 

    Dentro da 1a iteração do while ele imprime o valor de b e na linha seguinte faz a atribuição dupla. Primeiramente ocorre a atribuição a = b = 1 e após isso a atribuição b = a + b = 0 + 1 = 1, conforme explicamos no esquema. 

    a 0 1

    b 1 1

    Dentro da 2a iteração do while ele imprime o valor de b e na linha seguinte faz a atribuição dupla. Primeiramente ocorre a atribuição a = b = 1 e após isso a atribuição b = a + b = 1 + 1 = 2. 

    a 0 1 1

    b 1 1 2

    Dentro da 3a iteração do while ele imprime o valor de b e na linha seguinte faz a atribuição dupla. Primeiramente ocorre a atribuição a = b = 2 e após isso a atribuição b = a + b = 1 + 2 = 3. 

    a 0 1 1 2

    b 1 1 2 3

    Dentro da 4a iteração do while ele imprime o valor de b e na linha seguinte faz a atribuição dupla. Primeiramente ocorre a atribuição a = b = 3 e após isso a atribuição b = a + b = 2 + 3 = 5. 

    a 0 1 1 2 3

    b 1 1 2 3 5

    Dentro da 5a iteração do while ele imprime o valor de b e na linha seguinte faz a atribuição dupla. Primeiramente ocorre a atribuição a = b = 5 e após isso a atribuição b = a + b = 3 + 5 = 8. 

    a 0 1 1 2 3 5

    b 1 1 2 3 5 8

    Dentro da 6a iteração do while ele imprime o valor de b e na linha seguinte faz a atribuição dupla. Primeiramente ocorre a atribuição a = b = 8 e após isso a atribuição b = a + b = 5 + 8 = 13. 

    a 0 1 1 2 3 5 8

    b 1 1 2 3 5 8 13

    Neste ponto, b = 13 faz com que a condição de permanência no while, que é b < 10, deixe de ser verdadeira. Assim, é encerrado o loop e o algoritmo como um todo. Os valores de a e b são, respectivamente, 8 e 13.

    Resposta: B

  • Gabarito: B.

    Novamente, outra sequência de Fibonnaci.

    Iniciando: a = 0, b = 1.

    Sequenciando:

    a = 1, b=1

    a = 1, b= 2

    a = 2, b=3

    a = 3, b= 5

    a = 5, b = 8

    a = 8, b = 13.

    Fim.

    Bons estudos!

  • Pelo jeito que está a questão não há resposta, haja vista a falta de indentação no código que, por conseguinte, apresentaria erro. O correto seria (Python 3.8):

    a, b = 0, 1

    while b < 10:

    #indentação print(b)

    #indentação a, b = b, a+b

    E as impressões de b resultariam em: 1, 1, 2, 3, 5, 8. Enquanto o último valor armazenado de b seria 13.

  • Se fosse questão de C e E com certeza estaria errada. O código, para rodar e apresentar as opções das alternativas, deveria estar escrito da seguinte forma:

    a, b = 0, 1

    while b < 10:

    (indentação) print (a+b)

    (indentação) a, b = b, a+b

  • Para quem ainda tem dúvida um professor explica sobre essa aplicação de Fibonacci e em seguida resolve exatamente essa questão.

  • A dificuldade dessa questão é entender q a atribuição dupla é diferente da atribuição simples:

    Faça o teste. Entre no site https://replit.com/languages/python3 e digite esse código (atribuição simples):

    a, b = 0, 1

    while b< 10:

     print (b)

     a = b

     b = a + b

    print (a)

    print (b)

    ________________________________________

    Abra outra aba e naquele mesmo site, digite o código (esse tem atribuição dupla de "a" e "b" ocorrendo na mesma linha) e dê "run":

    a, b = 0, 1

    while b< 10:

     print (b)

     a, b = b, a + b

    print (a)

    print (b)

    _____________________

    Abraço


ID
1386376
Banca
CESPE / CEBRASPE
Órgão
ANTT
Ano
2013
Provas
Disciplina
Programação
Assuntos

Julgue os itens a seguir, com relação às tecnologias empregadas nos servidores de aplicação web.

O Zope é um servidor de aplicações web, escrito em Python, com banco de dados orientado a objetos ZODB. O Zope não permite a criação de aplicações web embasadas em componentes.

Alternativas
Comentários
  • Neste tipo de questão o candidato deve usar o bom senso. O suporte a componentes é a principal função de um servidor de aplicação, seja ele em qualquer linguagem de programação. Dessa forma, não faz nem sentido ter um app server sem suporte a componentes.

  • Gabarito Errado

    Zope é um servidor de aplicações web de código aberto escrito na linguagem Python. Seu nome significa "Z Object Publishing Environment" (em português, "Ambiente de Publicação de Objetos Z"). Muitas tarefas de administração de um servidor Zope podem ser realizadas através de uma interface web. Os objetos que o Zope publica na Web são escritos em linguagem Python, e tipicamente armazenados num banco de dados orientado a objetos, o ZODB, que é integrado ao sistema. Objetos básicos tais como documentos, imagens e modelos de páginas podem ser criados ou modificados via web. Objetos especializados, tais como wikis, blogs, e galerias de fotos estão disponíveis como componentes adicionais (chamados products), e existe uma comunidade de desenvolvedores e de pequenas empresas criando aplicações web como produtos.

     

    Um sítio em Zope é formado por objetos em um banco de dados em vez de arquivos, como é comum em muitos outros servidores de aplicação web. Esta abordagem permite alavancar as vantagens do paradigma de objetos, como encapsulamento. Zope associa URLs a objetos utilizando a hierarquia de partes (composição); os métodos são considerados como partes dos objetos. Por exemplo, http://www.zope.org/Products/visual é uma forma de acessar app.Products.visual.

    O Zope inclui o Zope Object Database (ZODB), que persiste transparentemente objetos Python de forma transacional. A transparência está no fato de que os desenvolvedores raramente precisam escrever código para ler ou salvar os objetos no ZODB de forma explícita.

    Uma característica particularmente inovadora do Zope é o uso em larga escala de aquisição. Aquisição é uma técnica paralela à herança de classes, através da qual objetos 'herdam' comportamentos de seu contexto na hierarquia de composição, além da hierarquia de classes. Isto possibilita novas formas de organizar a aplicação, muito adequadas ao paradigma da web onde os sites são organizados em pastas e sub-pastas, ou seções e sub-seções. Um uso frequente de aquisição é a organização dos componentes visuais das páginas de forma que elementos comuns possam ser adquiridos de um repositório central, sem se perder a possibilidade de substituir qualquer elemento por uma versão local mais adequada ao contexto. Por outro lado, o modo como a aquisição é implementada no Zope 2 também é visto como uma fonte de erros, produzindo comportamentos inesperados em alguns casos. O uso de aquisição foi bastante reduzido no Zope 3.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Método Nishimura!!!!!!!!!!! Ozzzzzzzzz

    Negação é sinal de erro no Cespe!

     

    GABA: Errado

  • Em 2013 era mesmo ....

  • Errado

    Zope é um servidor de aplicações web de código aberto escrito na linguagem Python. Seu nome significa "Z Object Publishing Environment" (em português, "Ambiente de Publicação de Objetos Z"). Muitas tarefas de administração de um servidor Zope podem ser realizadas através de uma interface web.

  • Essa CESPE gosta desse tal de ZOPE, eu nunca tinha ouvido falar antes kkkkk

  • Realmente o Zope é um servidor de código aberto escrito em Python, o erro da questão está em não permitir criação de aplicações web.

    Resposta: Errado

  • Para quem, assim como eu, nunca tinha ouvido falar em ZOPE, vale a pena a leitura.

    https://pt.wikipedia.org/wiki/Zope

  • MEU DEUS!!

    nessas questões só consigo pensar nisso: MEU DEUS!! Faz o impossível se tornar possível!

  • ERRADO

    Zope é um servidor de aplicações web de código aberto escrito na linguagem Python. 

  • (INFORMÁTICA)

    - Quando a questão detalha/explica determinado assunto/tema/software (GERALMENTE É VERDADEIRA)

    - Quando uma questão impõe algo ou determina uma ação (GERALMENTE ESTÁ ERRADA)

    - Quando uma questão compara tecnologias (GERALMENTE ESTÁ ERRADA)

    - Quando uma questão menospreza determinada tecnologia (GERALMENTE ESTÁ ERRADA)

    - Geralmente quando há uma enumeração de itens sendo pertencentes ao mesmo grupo/programa (GERALEMTEN ESTÁ CORRETA)

    - ATENTANDO PARA O ULTIMO ITEN, SE FOR DE OUTRO GRUPO/PROGAMA

    - Algumas palavras que são sinais que a Questão está CORRETA (pode, é possível, permitem...) 

    - Palavras que podem deixar a questão errada (devem, não é possível, é restrito, somente, palavra de negação e restrição) GERALMENTE ESTÁ ERRADA

  • Zope é um servidor de aplicações web de código aberto escrito na linguagem Python. Seu nome significa "Z Object Publishing Environment" (em português, "Ambiente de Publicação de Objetos Z"). Muitas tarefas de administração de um servidor Zope podem ser realizadas através de uma interface web. Os objetos que o Zope publica na Web são escritos em linguagem Python, e tipicamente armazenados num banco de dados orientado a objetos, o ZODB, que é integrado ao sistema. Objetos básicos tais como documentos, imagens e modelos de páginas podem ser criados ou modificados via web. Objetos especializados, tais como wikis, blogs, e galerias de fotos estão disponíveis como componentes adicionais (chamados products), e existe uma comunidade de desenvolvedores e de pequenas empresas criando aplicações web como produtos.


ID
1386385
Banca
CESPE / CEBRASPE
Órgão
ANTT
Ano
2013
Provas
Disciplina
Programação
Assuntos

Acerca das linguagens de implementação de regras de negócio, julgue os itens que se seguem.

O paradigma de orientação a objetos é amplamente utilizado em várias linguagens: Java é compilada em bytecode e executada em uma máquina virtual (JVM); C++ apresenta bom desempenho ao unir características de alto e de baixo níveis; Python/Ruby/PHP podem ser utilizadas para desenvolvimento web, mas sem aplicações para dispositivos móveis

Alternativas
Comentários
  • mas sem aplicações para dispositivos móveis ao meu ver deixou a questão errada.

  • Também acho que ficou errada a questão pelo "mas sem aplicações para dispositivos móveis".

  • Errado.

    O Python é uma linguaguem de proposito geral, não é focada em algo só. Com ele você pode desensolver aplicativos para android, windows e linux. É uma linguagem multiplataforma.

  • O tema assusta um pouco, mas se for pela logica da pra ir acertando algumas e memorizando.

  • ERRADO!

    O próprio Google e o Youtube foram feitos em Python.

  • Vai nishimuraaaa

  • kkk Python é a linguagem mais usada em desenvolvimento de APPs

  • ERRADO

    Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. 

    "mas sem aplicações para dispositivos móveis"

    É POSSIVEL SIM.

    O objetivo do projeto , que visa criar um ambiente para que apps escritos em Python possam rodar no iOS, Android, Windows, macOS, tvOS, Linux ou navegadores, usando a interface nativa de cada plataforma. 

    Uma matéria sobre o assunto: https://olhardigital.com.br/2020/05/13/noticias/no-futuro-apps-escritos-em-python-poderao-rodar-no-android/

  • Em informática tudo e possível

  • Método NISHIMURA salvando!

  • GABARITO ERRADO

    Como é uma plataforma livre e de código aberto, é usada por grandes empresas como netflix, google, youtube e outras. Trata-se de uma linguagem multiplataforma que serve para quase tudo, ou seja, permite desenvolver aplicações para celulares, desktop, web e outros. Além disso, permite integrar diversos serviços e sistemas de forma rápida e eficaz.

  • Lembrar do UBER. A maior parte do app UBER foi feita em linguagem de programação Python, por exemplo, que é uma aplicação para dispositivos móveis. Errada.

  • O Python é uma linguagem de propósito geral, não é focada em algo só. Com ele você pode desenvolver aplicativos para android, windows e linux. É uma linguagem multiplataforma. O próprio Google e o Youtube foram feitos em Python.

    #MireAsEstrelas

  • ERRADO

    PYTHON

    • linguagem de programação de ALTO NÍVEL (se aproxima da linguagem humana)
    • Interpretada (não precisa de compilação)
    • linguagem ágil, fácil e objetiva
    • Multiplataforma (por conta dessa característica, Python pode ser utilizada para aplicações em Windows, Linux, Mac, IOS, Android e basicamente qualquer outro.)
    • de tipagem Dinâmica e Forte
    • Imperativa (dá ordem através comandos)
    • Orientada a objetos
  • Gabarito: Errado

    Se o python é um tipo de programação aberta, usada em todos os sistemas operacionais, porque que não seria usado em dispositivos móveis, um exemplo é o app da uber, foi criado para dispositivos móveis e criado pela linguagem de programação python.

    Reconhece o SENHOR em todos os teus caminhos, e Ele endireitará as tuas veredas.

    Provérbios 3:6

  • Python é uma linguagem orientada a objeto e de MULTIPLATAFORMAS.

  • (INFORMÁTICA)

    - Quando a questão detalha/explica determinado assunto/tema/software (GERALMENTE É VERDADEIRA)

    - Quando uma questão impõe algo ou determina uma ação (GERALMENTE ESTÁ ERRADA)

    - Quando uma questão compara tecnologias (GERALMENTE ESTÁ ERRADA)

    - Quando uma questão menospreza determinada tecnologia (GERALMENTE ESTÁ ERRADA)

    - Geralmente quando há uma enumeração de itens sendo pertencentes ao mesmo grupo/programa (GERALEMTEN ESTÁ CORRETA)

    - ATENTANDO PARA O ULTIMO ITEN, SE FOR DE OUTRO GRUPO/PROGAMA

    - Algumas palavras que são sinais que a Questão está CORRETA (pode, é possível, permitem...) 

    - Palavras que podem deixar a questão errada (devem, não é possível, é restrito, somente, palavra de negação e restrição) GERALMENTE ESTÁ ERRADA

    Esse método é bem bacana para pessoas que ficam em duvidas quanto as questões CESPE!

    Algumas questões conceituais podemos matar usando alguns desses métodos


ID
1403956
Banca
FGV
Órgão
TJ-BA
Ano
2015
Provas
Disciplina
Programação
Assuntos

Analise o trecho de programa, escrito em Pyhton na versão 2.7, mostrado a seguir.

                              X=[ ]
                              for i in range(10,1,-1):
                                    X.append(i)
                              print X[3:]

O trecho exibe:

Alternativas
Comentários
  • Range em Python pode ter a seguinte assinatura: range(start, stop, step). Start é o índice inicial, baseado em 0. Stop é o índice final, sendo um intervalo aberto, ou seja, não está incluído. Step é a diferença entre cada item do range. Todos devem ser números inteiros, positivos ou negativos.

    No exemplo dado, o range vai gerar números de 10 até 2 (o 1 um não está incluído) em intervalos de -1. Como é de um inteiro grande para um menor (com step descrevente), a lista vai ficar decrescente: [10, 9, 8, 7..., 2].

    O print vai exibir os itens a partir do índice 3 até o fim: [7, 6, ..., 2]

  • A função range retorna uma lista que inicia no valor 10 e vai até que i seja >1. Com
    o passo sendo de -1, ou seja, X = [10, 9, 8, 7, 6, 5, 4, 3, 2]. A notação X[3:] significa
    que é para retornar os elementos da lista começando da posição 3 indo até o final.
    Lembre-se que o primeiro índice é “0”, então o elemento é “7”. Logo será exibido
    “[7, 6, 5, 4, 3, 2].
    Gabarito: D

  • Na verdade, se fosse cobrado exatamente como está no enunciado daria erro de indentação.

  • FUNÇÃO EXPANDIDA PARA JOGAR NO INTERPRETADOR ONLINE:

    X=[ ] #(X recebe uma lista vazia)

    for i in range(10,1,-1): #(para cada valor de 10 a 1 invertido, faça)

     print(i) #(mostre os valores da função range pedida - apenas p/ melhor entendimento)

     X.append(i) #(adicione todos os elementos da função anterior na lista X)

    print(X) #(imprima a lista - apenas p/ melhor entendimento)

    print (X[3:]) #(imprima a lista, a partir do terceiro elemento, até o final - terceiro elemento é inclusivo - começamos a contagem do 0)

    * OBS: o comando original da questão está sem indentação, e a função "print" está sem os parênteses.


ID
1458682
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2015
Provas
Disciplina
Programação
Assuntos

Um engenheiro necessita processar um conjunto de dados coletados diretamente de equipamentos, por meio de vários programas que devem ser aplicados em sequência, em várias ordens possíveis. Cada programa funciona como um filtro, lendo e escrevendo arquivos. Para realizar essa tarefa, o engenheiro decidiu que seria mais fácil fazer um programa adicional que controlasse o fluxo de trabalho dos outros programas. Após pesquisa, optou por utilizar uma linguagem de programação imperativa, que pudesse ser usada como um script e tradicionalmente disponível na forma interpretada.

Entre as linguagens adequadas a esse cenário de uso, o engenheiro poderá escolher entre

Alternativas
Comentários
  • Haskell é uma linguagem funcional, não imperativa.

    C é um linguagem imperativa, mas é, a princípio, compilada, não interpretada.Fortran, assim como C, é imperativa e compilada.Perl e Python são ambas linguagens imperativas e interpretadas, e que podem ser usadas como linguagem de script.Portando a única resposta correta é a letra E.
  • Quanto ao Phyton:

    1- Suporta maniputação de exceções;

    2 - Eficiente gerenciameto de memória - Garbage Collection

    3 - É uma linguagem interpretada

    4- Free

    5- Traz consigo inúmeras bibliotecas, além de possibilitar integração com outras

    6- Utiliza uma linha em branco como definição de blocos;

    7- Fácil entendimento quanto a projeção de: construtores, loops , estruturas condicionais e arrays, dentre outros recursos

    8- Implementada em C e extensível as suas bibliotecas

     

    Fonte: Livro: Python RAD - Rapid Application Development - Thiago Hernandes de Souza Ed: Moderna

  • Video do You tube: Concurso do Banco do Brasil 2018/informática aula 1.


ID
1470847
Banca
UNIRIO
Órgão
UNIRIO
Ano
2014
Provas
Disciplina
Programação
Assuntos

Sobre o comando range para construção de listas na linguagem Python, é CORRETO afirmar que

Alternativas
Comentários
  • Gabarito: A
    execução:
    range(4,6): [4, 5]
    range(5): [0, 1, 2, 3, 4]
    range(5,1): []
    range(5,1,-2):[5, 3]

    regra:
    A função range() tem duas maneiras de trabalhar.
    1- range(stop)
    stop: indica a quantidade de numeros inteiros que será gerado partindo do 0.
    exemplo: range(3) == [0, 1, 2]

    2- range([start], stop[, step])
    start: numero inicial da seguencia. (opcional)
    stop: gera numeros até o valor indicado, sem incluir o próprio
    step: diferença entre cada numero gerado na sequencia. (opcional)
    exemplos: 
    range(2,9,1):[2, 3, 4, 5, 6, 7, 8]
    range(2,9,2):[2, 4, 6, 8]
    range(2,9,3):[2, 5, 8]
    range(2,9,4):[2, 6]
    range(2,10,1):[2, 3, 4, 5, 6, 7, 8, 9]
    range(2,10,2):[2, 4, 6, 8]
    range(2,10,3):[2, 5, 8]
    range(2,10,4):[2, 6]
    Obs.:
    - todos os numeros são integers
    - os parametros podem ser  tanto positivos quanto negativos
    - quando utilizado com dois argumentos o python entende range([start],stop) conforme o item A da questão.

    fonte: http://pythoncentral.io/pythons-range-function-explained/

    Se o texto apresentar algum erro por favor me avisem! =D

  • >>> print(list(range(4,6)))
    [4, 5]
    >>> print(list(range(5)))
    [0, 1, 2, 3, 4]
    >>> print(list(range(4,6)))
    [4, 5]
    >>> print(list(range(5,1)))
    []
    >>> print(list(range(5,1,-2)))
    [5, 3]

  • Gera uma lista do número 4 até 6, porém o 6 é não-incluso, então gera uma lista com os números [4,5] e não há parâmetro sistemático definido

  • range()

    A função range() retorna uma lista de inteiros. Seu conteúdo é definido pelos argumentos, veja:

       range(terminal)

    range(4)

    [0, 1, 2, 3]

    .

       range(start, terminal)

    range(2, 8)

    [2, 3, 4, 5, 6, 7]

    .

       range(start, terminal, step_size)

    range(2, 13, 3)

    [2, 5, 8, 11]


ID
1470856
Banca
UNIRIO
Órgão
UNIRIO
Ano
2014
Provas
Disciplina
Programação
Assuntos

A saída resultante da execução do código Python a seguir é

                        d1 = dict(a=1,b=2)
                        d2 = {'a': 1,'b':2}
                        r1 = d1 == d2
                        s1 = str('abc')
                        s2 = str('abc')
                        r2 = s1 != s2
                        r3 = len('a')==len('b')
                        print r1, r2, r3

Alternativas
Comentários
  •                         d1 = dict(a=1,b=2)    # Uma das formas de definir um dicionário dict(chave=valor)

                            d2 = {'a': 1,'b':2}     # Outra forma de definir dicionário, entre chaves  d2 ={'chave' = valor}


                            r1 = d1 == d2    #Comparação entre 2 dicionários, que possuem os mesmo valores, 1 e 2; OU SEJA, SÃO IGUAIS (TRUE)


                            s1 = str('abc')   # Converte abc para string "redudante", porém uma função muito útil para converter número em string.

                            s2 = str('abc')  #idem linha superior


                            r2 = s1 != s2  #Comparação: s1 é diferente (!=)de s2? ERRADO, já que s1 é igual a s2 (FALSE)
                            r3 = len('a')==len('b')  #Comparação do tamanho das chaves a e b dos dicionários, ou seja, o tamanho é igual (TRUE)
                            print r1, r2, r3 

                                  #print TRUE

                                  #print FALSE

                                  #print TRUE

    GABARITO LETRA E


ID
1504009
Banca
FGV
Órgão
TJ-BA
Ano
2015
Provas
Disciplina
Programação
Assuntos

Analise o trecho de programa Python, na versão 2.7, apresentado a seguir.

L=[1,2,3,4,5,6,7,8]
print L[::-1]


Ao ser executado, o resultado exibido é:

Alternativas
Comentários
  • Imprime todos os elementos da lista, começando pelo último elemento ( posição -1 ), com saltos de ordem inversa, pois está representado por -1, de 1 em 1, até o primeiro elemento ( posição 0 )

  • [ElementoInicial:ElementoFinal:Salto]

     

    Exemplo:

    L = [1,2,3,4,5,6]

    print L[1:5:2] -> [1,3,5]  

     

    - Caso não seja especificado o intervalo de elementos, a lista inteira é considerada;

    - Ao informar um número de salto negativo a lista é varrida de trás pra frente.

     

     

     

  • Diego Serafim,

     

    Nesse seu exemplo: 

     

    [ElementoInicial:ElementoFinal:Salto]

    Exemplo:

    L = [1,2,3,4,5,6]

    print L[1:5:2] -> [1,3,5] (ERRADO !!!!!)

     

    Irá imprimir: [2, 4] e não [1,3,5], pois, a posição do primeiro elemento é zero e não 1.

     

    .

    .

    At.te,

    Foco na missão ❣

  • o comentário do colega diego nao tem relação com a questão, desconsidere 

  •  

    print L[::-l]

    Ao ser executado, o resultado exibido é [8, 7, 6, 5, 4, 3, 2, l].

  • Complementando ...

    L = [1,2,3,4,5,6,7,8]

     

    L[::-1]  ➔ [8,7,6,5,4,3,2,1]

    L[:-1] ➔ [1,2,3,4,5,6,7]

     

     Obs.: O :: retorna resultado distinto de :

    .

    .

    At.te

    Foco na missão 

     

  • Observação importante!!!

    Nas versões mais atuais do Python, esse comando resultaria em um ERRO DE SINTAXE, pois, hoje, é necessário inserir parênteses.

    O correto seria:

    L=[1,2,3,4,5,6,7,8]

    print (L[::-1])

    PF2021!!!

  • O operador de acesso a itens em coleções (listas, sets, tuplas) usam três argumentos: 

    L[Start:Stop:Step]

    Start - primeira posição a ser acessada:

    Pode ser: (1) valor positivo - posição inicial de acesso (por exemplo, 0 é a primeira, 1 é a segunda); (2) valor negativo - posição a partir do final do array (por exemplo, -1 é a última posição, -2 é a penúltima); (3) não fornecido - primeira posição do array (posição 0).

    Stop - última posição a ser acessada:

    Pode ser: (1) valor positivo - posição de acesso (por exemplo, 0 é a primeira, 1 é a segunda); (2) valor negativo - posição a partir do final do array (por exemplo, -1 é a última posição, -2 é a penúltima); (3) não fornecido - última posição do array (posição -1).

    Step - valor do incremento no acesso:

    Pode ser: (1) número positivo - ordem direta de incremento em incremento; (2) número negativo - ordem inversa de incremento em incremento; (3) não fornecido - ordem de 1 em 1.

    Dessa forma, o acesso L[::-1] acessará da primeira até a última posição do array em ordem inversa, ou seja, [8, 7, 6, 5, 4, 3, 2, 1].

    Gabarito: Letra D

    Prof. Diego


ID
1562008
Banca
UFPel-CES
Órgão
UFPEL
Ano
2015
Provas
Disciplina
Programação
Assuntos

Considere o seguinte código em Python abaixo:


>>> a, b = 0, 1

>>> while b < 10:

... print b,

... a, b = b, a+b

...


A alternativa que contém a saída na tela é

Alternativas
Comentários
  • Iteração 1: 


    A = 0

    B = 1

    1 < 10 (condição do loop):

    Imprime: 1

    A = 1 / B = 0 + 1 (1)


    Iteração 2: 


    A = 1

    B = 1

    1 < 10 (condição do loop):

    Imprime: 1 1

    A = 1 / B = 1 + 1 (2)


    Iteração 3:


    A = 1

    B = 2

    2 < 10 (condição do loop):

    Imprime: 1 1 2

    A = 2 / B = 1 + 2 (3)


    Iteração 4:


    A = 2

    B = 3

    3 < 10 (condição do loop):

    Imprime: 1 1 2 3

    A = 3 / B = 5


    Não precisa mais continuar, pois já chegamos ao resultado da questão. ( 1 1 2 3 ... ) [A]


    Espero ter ajudado. Bons estudos!



  • Sequência de fibonacci.

  • Questão passível de recurso. Cadê a porra da identação, examinador? ¬¬

  • nossa, quanta questão de Python que tem a sequência de Fibonacci, kkkkkk


ID
1562011
Banca
UFPel-CES
Órgão
UFPEL
Ano
2015
Provas
Disciplina
Programação
Assuntos

Em relação às características da linguagem Python, é correto afirmar que

Alternativas
Comentários
  • Python é uma linguagem fracamente tipada, porém com suporte à orientação a objetos, incluindo a herança múltipla.


    Sugestão de leitura:

    - "Python: O que é? Por que usar? " em http://pyscience-brasil.wikidot.com/python:python-oq-e-pq

    - "Tipos e semântica" em http://www.ppgsc.ufrn.br/~rogerio/material_auxiliar/CLP20131_tipos_semantica.pdf

  • b) Linguagens fortemente tipadas (ou linguagens fortemente tipificadas) são aquelas em que todas as variáveis têm um tipo específico e seus tipos são importantes para a linguagem. Java, C♯, Fortran e Cobol são exemplos deste tipo de linguagem.

     

    c) Python é, além disso, uma linguagem de propósito geral. Muitas vezes, é necessário lidar com tarefas laterais: buscar dados em um banco de dados remoto, ler uma página na internet, exibir graficamente os resultados, criar uma planilha, etc.

     

    d) Uma lista (list) em Python é uma sequência ou coleção ordenada de valores. Cada valor na lista é identificado por um índice. Os valores que formam uma lista são chamados elementos ou itens. Listas são similares a strings, que são uma sequência de caracteres, no entanto, diferentemente de strings, os itens de uma lista podem ser de tipos diferentes.

     

    e)  Strings em Python são objetos como outros quaisquer. Podem ser construídos com uma atribuição simples:

    >>> s = "hello, world!"

  • Questão idêntica foi cobrada no concurso TRE-CE de 2012 - Q220580.

  • CARACTERISTICAS DO PYTHON:

    • ALTO NÍVEL
    • DE PROPÓSITO GERAL
    • FACIL E INTUITIVA
    • MULTIPLATAFORMA
    • BATTERIAS INCLUDED
    • LIVRE, GRATUITO
    • ORIENTADO A OBJETOS
    • LINGUAGEM INTERPRETADA.
  • B) Incorreta

    Ela é sim fortemente tipada, porém inverteram o conceito. {Q1003300}

    Fortemente Tipada: Não permite algumas operações com variáveis de tipos diferentes sem conversão.

    Dinâmica: permite alteração da variável durante a execução do código fonte

  • Impressionante, nas questões sobre python não tem comentário de professor. Lamentável.

  • Na programação em R também ?

  • a) GAB

    b) Python é fortemente tipada, mas não precisa declarar os tipos de variáveis porque ela é também dinamicamente tipada

    c) Python é uma linguagem de propósito geral, incluindo Web, Desktop, IA, etc

    d) Índices começam em 0 e a lista do Python pode armazenar valores de tipos diferentes

    e) String é imutável sim, mas a alocação é dinâmica. E não existe uma restrição clara de tamanho, depende da arquitetura do computador (32 ou 64 bits)

  • Sobre a letra D

    No Python a posição dentro da lista começa com 0 quando é da esquerda para a direita e começa com -1 quando é da direita para a esquerda, ou seja, "de trás para frente".

    • OBS: Na Linguagem R, NÃO começa com o zero (0) e sim com o número 1.

ID
1606909
Banca
FCC
Órgão
TRT - 3ª Região (MG)
Ano
2015
Provas
Disciplina
Programação
Assuntos

Considere o código fonte Python abaixo.

 def calcular(n):
        resultado = [ ]
        a, b = 0, 1
        while a < n:
                      ...I...  
        return resultado
res = calcular(100)
print res


Para que seja exibido [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] a lacuna I precisa ser preenchida corretamente com: 


Alternativas
Comentários
  • o método append em Python serve para "apensar" o objeto passado como parâmetro à lista. Desse modo, o único trecho de código que corresponde ao output dado é a letra B.

  • O append()método acrescenta um elemento ao final da lista.

    Sintaxe:

    list.append(elmnt)

     

    Iteração 1:

    A = 0

    B = 1

    0 < n (condição do loop):

    Imprime: 0

     

    Iteração 2:

    A = 0

    B = 1

    1 < 10 (condição do loop):

    Imprime: 0 1

    A = 1 / B = 0 + 1 (1)

     

    Iteração 3:

    A = 1

    B = 1

    1 < 10 (condição do loop):

    Imprime: 0 1 1

    A = 1 / B = 1 + 1 (2)

     

    Iteração 4:

    A = 1

    B = 2

    2 < 10 (condição do loop):

    Imprime: 1 1 2

    A = 2 / B = 1 + 2 (3)

     

    Iteração 5:

    A = 2

    B = 3

    3 < 10 (condição do loop):

    Imprime: 1 1 2 3

    A = 3 / B = 5

  • Já que o QC não tem a capacidade de colocar um código formatado decentemente, segue o mesmo para os colegas:

    def calcular(n): 

    resultado = [] 

       a, b = 0, 1

       while a < n: 

         ...I...

    return resultado 

       

    res = calcular(100) 

    print res

  • LETRA B

    Decorem o fibonacci e o fatoria, a FCC adora, em qualquer linguagem:

    Q701574

  • Append: Função utilizada para adicionar um item ao final da lista. Pensando como uma pilha, de modo inverso a uma lista, ele adiciona um item no topo.

  • Acrescentando:

    O que diferencia, em listas, as funções append e insert é:

    ~>append(k): o argumento k é inserido sempre no último valor da lista.

    ~> Insert(a,k): sempre serão dois argumentos, de tal modo que na falta de 1, o programa apresentará um erro. O primeiro argumento é a posição (que no python começa com 0) e o segundo é o valor (string, float, inteiro, etc.)


ID
1663420
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2013
Provas
Disciplina
Programação
Assuntos

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.

Alternativas
Comentários
  • The lambda operator or lambda function is a way to create small anonymous functions, i.e. functions without a name. These functions are throw-away functions, i.e. they are just needed where they have been created. Lambda functions are mainly used in combination with the functions filter(), map() and reduce().

     

    >>> f = lambda x, y : x + y

    >>> f(1,1)

    2

     

    https://www.python-course.eu/lambda.php

     

    Gabarito: Errado

  • So para constar, python está escrito errado nesta questão kk

  • Phyton????

    Se não foi anulada,não sei mais oq é possivel nessas provas do Cespe....

     

  • Questã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.

    Gabarito Errado!

     

    É justamente ao contrário a função lambda retornar a função ao invés de atribuir!

     

    Lambda não é nada mais que funções anônimas que aceitam argumentos (inclusive opcionais) e que só suportam uma expressão. Ao executar lambda, Python retorna uma função ao invés de atribuí-la a um nome como acontece com def, por isso são anônimas. O conceito e o nome são emprestados de Lisp, uma linguagem funcional.

     

    Fonte: http://blog.alienretro.com/entendendo-python-lambda/

  • Gab: ERRADO

     

    Lambda não é nada mais que funções anônimas que aceitam argumentos (inclusive opcionais) e que só suportam uma expressã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. O conceito e o nome são emprestados de Lisp, uma linguagem funcional.

     

    Fonte: http://blog.alienretro.com/entendendo-python-lambda/

  • https://www.youtube.com/watch?v=kH8wDy8kWE8

  • LAMBDA - FUNÇÃO SEM NOME

  • As funções anônimas — em Python também chamadas de expressões lambda — representam um recurso bem interessante da linguagem Python, mas cuja utilidade pode não ser muito óbvia à primeira vista.

    Uma função anônima é útil principalmente nos casos em que precisamos de uma função para ser passada como parâmetro para outra função, e que não será mais necessária após isso, como se fosse “descartável”.

  • Expressões lambda são funções anônimas que podem ser atribuídas a variáveis, passados ou retornados de funções.

    Gabarito: Errado   "... em vez de retorná-la ..."

     

  • A funçao lambda petmite criar uma função em uma variavel sem precisar atribuir um nome para a função.

  • Função Lambda

    - Funções anônimas que aceitam argumentos (inclusive opcionais)

    - Só suportam uma expressão

    - Ao executar, retorna uma função

  • GAB: ERRADA

    Retorna uma função ANÔNIMA como RESULTADO.

    Além disso:

    são úteis para deixar o código mais simples e legível

    são funções de uma única linha, isto é, NÃO POSSUEM NOME E SÃO VARIÁVEIS

  • Assertiva E

    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.

    Repare

    As funções lambda, também conhecidas como expressões lambda.Todas as características de uma função lambda são muito parecidas com as funções comuns.

    com exceção de duas coisas: elas não possuem uma definição em código, ou seja, são declaradas como variáveis e não possuem um def próprio; e elas são funções de uma linha, que funcionam como se houvesse a instrução return antes do comando.

  • Lambda são pequenas funções anônimas, essas funções são úteis para deixar o código mais simples

    e legível. Elas são funções de uma única linha, isto é, não possuem nome e são declaradas como

    variáveis. Além disso, sua sintaxe não utiliza a palavra-chave def e nem utilizam a palavra return

    antes do comando porque se considera que haverá um retorno implícito.

    Uma comparação de uma função comum com uma função lambda:

    def quadrado(x):

    return x*x

    print(quadrado(2)) #Retornará 4

    Notem que se trata de uma função comum. Como poderíamos transformar essa função em uma

    expressão lambda?

    Assim:

    quadrado = lambda x: x*x

    print(quadrado(2)) #Retornará 4

  • Na verdade, lambda são pequenas funções que operam de forma anônima, tornando o código simples e dinâmico. 

    Resposta: Errado

  • ERRADO! É "PYTHON" E NÃO "PHYTON" KAKAKAKA

  • GAB: ERRADO

    São funções anônimas que podem ser criadas com a palavra-chave lambda. Elas podem ser utilizadas sempre, ou quase sempre, que funções sejam necessárias em seu código.

    Porém, estas expressões são restritas a uma única linha ( sem gambiarras :)

    Um ponto importante é que estas funções possuem um return implícito, ou seja, toda função lambda retornará o resultado final da operação.

  • função/expressão lambda = pequenas funções anônimas

    • são mais simples, com apenas uma linha
    • Não possuem nome e são declaradas como variáveis
    • Não utilizam def nem return(o retorno é implícito)

  • Exemplo de lambda:

    >>> x = lambda x,y : x**y

    >>> print(x(5,2))

    >>> 25

  • São mais simples, com apenas uma linha.

    Não possuem nome e são declaradas como variáveis.

    Não utilizam def nem return.

  • Funções lambda nada mais são do que funções anônimas. Enquanto funções normais podem ser criada utilizando def como prefixo, as funções lambda são criadas utilizando lambda.

    Questão errado.

  • estudar Pay tá on é osso


ID
1683796
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2015
Provas
Disciplina
Programação
Assuntos

Um CMS (content management system) é utilizado para o gerenciamento de conteúdo em sites e podem ter diversas funções, tais como administrar usuários, criar ou remover conteúdo, autorizar publicações, produzir formulários, entre outros. Com base nessas informações, julgue o item que se segue.

Apesar do HTML ser integrado com o PHP para a produção de páginas web, devido ao núcleo de funcionamento de um CMS, a linguagem de desenvolvimento mais utilizada nesses sistemas é o Python.

Alternativas
Comentários
  • Os principais CMS como o WordPress, Joomla, Drupal e outros são baseados em PHP.

  • Policia FEDERAL !!!!!!!!!!!!!! 

  • Gaba: ERRADO

     

    Comentários: que salada de fruta! ...vou tentar explicar de outra forma essa loucura...

    vc precisa criar textos e não sabe qual ferramenta usar, então vc descobre que tem duas opções:

    MS Office que tem como ferramentas (word, excel, powerpoint) e o LibreOffice que tem (Writer, Calc, Iimpress, Draw), qualquer um dos dois pacotes vc conseguirá criar um documento, porém vc tem que saber que, o para criar documento com o MS Office vc irá usar o Word e no LibreOffice vc usará o Writer!

    a questão fez a mesma pergunta, só que foi pra vc criar um site...

    se vc ler novamente a questão e entender que o Word Press, Joomla, drupla, magento "pertecem" ao PHP e o Plone e Django "pertecem" ao Phyton, já tá de parabéns.

    Que car@io é CMS? é uma sigla que significa Content Management System (Sistema de Gestão de Conteúdo, em português). Trata-se de um sistema que serve para gerenciar conteúdos multimídia, como: fotos, vídeos, textos, animações, etc. Atualmente as aplicações para CMS são inúmeras, desde blogs pessoais a portais institucionais e lojas virtuais.

     Ronnye Concurseiro procure no youtube aulas do evp com prof. JOÃO ANTONIO sobre linguagem R, muito didático e de fácil entendimento.

    link do vídeo: https://www.youtube.com/watch?v=mcknIqromZA&ab_channel=QuerAprender%3F

    https://www.qconcursos.com/questoes-de-concursos/questoes/245e95ea-6d

  • Nishimura, cade você????

  • Cadê as aulas de python e R aqui no QC?

  • aLGUÉM AQUI FICOU NERVOSO COM A PROGRAMAÇÃO EXIGIDA NA PF????

  • cade os professores de informática avançada do QC??????

  • detonou quem vinha estudando pra PF.....

  • é de quebrar as pernas! ahahaha

  • Gabarito Errado para os não assinantes.

     

    PHP:  É a linguagem mais usada no back-end de sites. Quando foi criada, em 1994, significava Personal Home Page, mas agora é PHP Hypertext Preprocessor. Inicialmente, era um conjunto de binários escrito em C usado apenas para o acompanhamento de visitas ao currículo online de seu criador, Rasmus Lerdorf.


    Em 1995, Lerdorf liberou seu código-fonte para o público e, assim, outros desenvolvedores passaram a usá-la e sugerir correções para bugs — o que ajudou a aperfeiçoá-la. Uma das suas grandes vantagens é ser uma linguagem muito simples para iniciantes. Além disso, é a linguagem de programação web mais usada para implementação de funções dinâmicas e complexas em websites e aplicações web. É uma poderosa ferramenta, mas diferentemente do JavaScript tem seu código normalmente embutido no HTML e executado no servidor. Para o cliente, é enviado apenas o resultado em HTML puro — o que torna viável a interação com banco de dados e aplicações no servidor.

     

    Python : Concebida no fim dos anos 80, veio para servir como uma linguagem para escrever programas intermediários, uma opção entre o C e o Shell Script. Como é uma plataforma livre e de código aberto, é usada por grandes empresas como Netflix, Google, Youtube e outras. Trata-se de uma linguagem multiplataforma que serve para quase tudo, ou seja, permite desenvolver aplicações para celulares, desktop e web, entre outros. Além disso, permite integrar diversos serviços e sistemas de forma rápida e eficaz.

     

    https://www.impacta.com.br/blog/2017/09/25/linguagens-programacao-web-conhecer/

  • sem aulas de python?????? Poxa

  • CMS conhecidos:

    - PHP

           WORD PRESS

            JOOMLA

           DRUPAL

     

    - PYTHON

             PLONE

             DJANGO

  • Assertiva E

    a linguagem de desenvolvimento mais utilizada nesses sistemas é o Python.

    Php

  • A questão se refere à divisão de tarefas na criação de páginas da web:

    AFIRMATIVA: "Apesar do HTML ser integrado com o PHP para a produção de páginas web, devido ao núcleo de funcionamento de um CMS, a linguagem de desenvolvimento mais utilizada nesses sistemas é o Python". [ERRADA]

    A questão não é verdadeira uma vez que a liguagem Python, considerada uma linguagem de alto potencial e muito versátil, é mais utilizada para o desenvolvimento de sistemas de dados. Para produção de páginas da web (no back-end de sites, veja abaixo), a linguagem mais utilizada é a PHP. Isso se deve, em grande parte, aos gerenciadores de conteúdo (CMS) mais usados no mundo, tais como Wordpress, Drupal, Joomla.

    Para entender melhor, é importante saber que na criação de sites, os programadores de duas áreas diferentes se completam: front-end e back-end.

    FRONT-END (significa "parte da frente") - os programadores que trabalham no front-end de um site são responsáveis por "deixar o site bonito", "dar vida" ao projeto. É a parte da aplicação que interage diretamente com o usuário, interface gráfica e é bem comum os profissionais da área trabalharem com a parte artística e mais criativa da aplicação. São os "artistas" de um site. O profissional dessa área foca em desenvolvimento web com HTML (linguagem de marcação) e CSS (linguagem de estilo), JavaScript (linguagem de script/programação). Para o CSS existem bibliotecas e frameworks que alguns profissionais se especializam como: Bootstrap e Sass. E para o JavaScript são: AngularJS e Jquery. As bibliotecas são um conjunto de funções pré-escritas por outros programadores que já resolvem determinados problemas para você sem que precise "reinventar a roda", tipo uma "cola" de programadores.

    BACK-END (significa "parte de trás") - por trás da parte bonita, existem o programadores que trabalham diretamente "nos bastidores" da aplicação, ao lado do servidor, na parte que o usuário (que somos nós) não vê. Por lidar com a regra de negócio, algumas vezes um programador de sistemas, como de aplicações comerciais e até científicas, pode ser chamado de desenvolvedor back-end. O profissional dessa área se depara com várias linguagens como: C# (C Sharp), PHP, Java, Python, Ruby, Clojure e Go. É necessário também ter conhecimento em banco de dados (ex.: MySQL, SQL ServerPostgreSQLOracle, entre outros).

    Obs. CMS (ou SGC) é um sistema de gerenciamento de conteúdo, isto é, trata-se de um aplicativo utilizado para criar, editar, gerenciar e publicar conteúdo em plataformas digitais, permitindo que este seja modificado, removido e adicionado sem a necessidade do conhecimento da linguagem HTML de marcação.

    FONTE: várias fontes diferentes.


ID
1688635
Banca
UFRRJ
Órgão
UFRRJ
Ano
2015
Provas
Disciplina
Programação
Assuntos

O Python possui diversos objetos de persistência, dentre eles o

Alternativas
Comentários
  • a) Errado.
    xdrlibs: Modulo para suporte ao Padrão de Representação de Dados Externos (External Data Representation - XDR) descrito na RFC 1014.
    fonte: https://docs.python.org/2/library/xdrlib.html

    b) Errado.
    Não encontrei nada. Se alguém souber me avise!

    c) Errado.
    stat: Modulo que define constantes e funções para interpretar resultados de os.stat(), os.fstat() e os.lstat().
    fonte: https://docs.python.org/3.0/library/stat.html

    d) Errado.
    linechach: Provavelmente a questão faz referência ao modulo linecache. Este modulo permine chegar a qualquer linha de qualquer arquivo, enquanto realiza otimização interna usando cache. 
    fonte: https://docs.python.org/3.0/library/linecache.html?highlight=linecache#module-linecache

    e) Correto.
    shelve: O 'shelf' é um objeto de persistência semelhante a um dicionário. A diferença com relação à "dbm" database é que os valores (não as chaves) em uma 'shelf' podem ser objetos python arbitrarios.
    fonte: https://docs.python.org/3.0/library/shelve.html?highlight=shelve#module-shelve

  • b) O método repr () retorna uma representação imprimível do objeto dado.

  • Fui pelo significado da palavra nessa.


ID
1770460
Banca
FGV
Órgão
PGE-RO
Ano
2015
Provas
Disciplina
Programação
Assuntos

Analise a linha de código Python 2.7 mostrada a seguir.

X= [ ]

O comando compatível com as características e a instância da variável X é: 

Alternativas
Comentários
  • O importante nesta questão é saber que [ ] é uma lista vazia em python.

    E a concatenação (+) de elementos em um tipo lista só pode ser feito por um outro tipo lista  [2]., o que descarta a opção da letra d , que tenta concatenar lista com uma string.

    X = X + [2]

    Portanto opção correta letra c

    fonte:

    Guido van Rossum ( criador da linguagem Python)

    http://legacy.python.org/doc/essays/ppt/


  • X = [   ]

    Res.: [10, 20] +(=extend) [2]

    [10, 20, 2]

    X = X+[2]

    Letra C.

  • Deem uma lida no início da parte teórica desta aula quando falamos que Python é uma linguagem de tipagem dinâmica e forte. Tipagem dinâmica significa que você pode mudar o tipo de uma variável no meio da execução. E tipagem forte significa que não pode misturar tipos incompatíveis numa operação. Esta questão foca exclusivamente na característica da tipagem forte. Em cada alternativa é feita uma tentativa de operar a variável X do tipo lista. Como eu sei que é do tipo lista? Por causa da atribuição a X o valor [ ]. Colchetes assim vazio significa que X foi inicializada como uma lista vazia. Resta saber se a operação envolve tipos compatíveis. Vamos analisar cada alternativa individualmente.

    ⦁ X = X + 2

    Errado. Não faz sentido somar a uma lista o número 2.

    ⦁ X = X (1)

    Errado. A chamada X(1) seria válida se X fosse uma função que recebesse 1 parâmetro do tipo numérico. Não é o caso porque nosso X é uma lista.

    ⦁ X = X + [2]

    Opa. Agora sim. Ele está somando a lista X com a lista [2] (uma lista com 1 único elemento 2). Esse operador + é compatível com os tipos lista dos 2 operandos. Ao fazer X + [2] ele está concatenando a lista vazia X com a lista [2] o que resulta na lista [2]. Alternativa correta.

    ⦁ X = X +"A"

    Errado. Tipos incompatíveis para o operador +. Funcionaria se X fosse um string. Neste caso, ele concatenaria o string X com o string “A”. O que não é o caso. Nosso X é uma lista.

    ⦁ X(0)="A"

    Errado. X(0) faria sentido se X fosse uma função com 1 argumento.

    Resposta: C

  • quando manipula lista, pode acrescentar valores dentro dos colchetes.

  • Gabarito letra C.

    Palavras do professor Hamilton Rodrigues:

    Deem uma lida no início da parte teórica desta aula quando falamos que Python é uma linguagem de tipagem dinâmica e forte. Tipagem dinâmica significa que você pode mudar o tipo de uma variável no meio da execução. E tipagem forte significa que não pode misturar tipos incompatíveis numa operação. Esta questão foca exclusivamente na característica da tipagem forte. Em cada alternativa é feita uma tentativa de operar a variável X do tipo lista. Como eu sei que é do tipo lista? Por causa da atribuição a X o valor [ ]. Colchetes assim vazio significa que X foi inicializada como uma lista vazia. Resta saber se a operação envolve tipos compatíveis. Vamos analisar cada alternativa individualmente.

    ⦁ X = X + 2

    Errado. Não faz sentido somar a uma lista o número 2.

    ⦁ X = X (1)

    Errado. A chamada X(1) seria válida se X fosse uma função que recebesse 1 parâmetro do tipo numérico. Não é o caso porque nosso X é uma lista.

    ⦁ X = X + [2]

    Opa. Agora sim. Ele está somando a lista X com a lista [2] (uma lista com 1 único elemento 2). Esse operador + é compatível com os tipos lista dos 2 operandos. Ao fazer X + [2] ele está concatenando a lista vazia X com a lista [2] o que resulta na lista [2]. Alternativa correta.

    ⦁ X = X +"A"

    Errado. Tipos incompatíveis para o operador +. Funcionaria se X fosse um string. Neste caso, ele concatenaria o string X com o string “A”. O que não é o caso. Nosso X é uma lista.

    ⦁ X(0)="A"

    Errado. X(0) faria sentido se X fosse uma função com 1 argumento.

    Resposta: C

    • Python -> tipagem dinâmica e forte.
    • Tipagem dinâmica = poder mudar o tipo de uma variável no meio da execução.
    • Tipagem forte = não poder misturar tipos incompatíveis numa operação.
    • Esta questão foca exclusivamente na característica da tipagem forte.
    • Em cada alternativa é feita uma tentativa de operar a variável X do tipo lista.
    • É do tipo lista por causa do colchetes vazio -> X foi inicializada como uma lista vazia.
    • Precisamos descobrir se a operação envolve tipos compatíveis.
    • (a) X = X + 2 -> Errado. Não faz sentido somar a uma lista o número 2.
    • (b) X = X (1) -> Errado. A chamada X(1) seria válida se X fosse uma função que recebesse 1 parâmetro do tipo numérico. Não é o caso porque nosso X é uma lista.
    • (c) X = X + [2] -> Correto. Ele está somando a lista X com a lista [2] (uma lista com 1 único elemento 2). Esse operador + é compatível com os tipos lista dos 2 operandos. Ao fazer X + [2] ele está concatenando a lista vazia X com a lista [2] o que resulta na lista [2].
    • (d) X = X +"A" -> Errado. Tipos incompatíveis para o operador +. Funcionaria se X fosse um string. Neste caso, ele concatenaria o string X com o string “A”. O que não é o caso. Nosso X é uma lista.
    • (e) X(0)="A" -> Errado. X(0) faria sentido se X fosse uma função com 1 argumento.

ID
1770610
Banca
FGV
Órgão
PGE-RO
Ano
2015
Provas
Disciplina
Programação
Assuntos

Analise o código Python a seguir.

S=0

C=1

while C < 7:

      D=4

      while D > 0:

            S=S+C+D

            D=D -1

        C=C +1

print S

O código que produz resultado idêntico ao que é produzido pelo código acima é: 

Alternativas
Comentários
  • Resposta: D - segue uma explicação da função range().


    Em Python, é muito comum usarmos a seguinte estrutura para realizar uma repetição baseada em um contador:

    for i in range(0, 10):

    print i,

    A função range(x, y) gera uma lista de números inteiros de x até y (sem incluir o segundo). Assim, range(0, 10), gera a seguinte lista:

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


    Desse modo, a variável i é iterada sobre essa lista, através da estrutura de repetição for. O trecho de código:

    for i in range(0, 10):

    print i,


    https://pythonhelp.wordpress.com/2011/10/05/range-vs-xrange/

  • Resposta: Letra D

    A função range tem 2 assinaturas:

    range(stop) - conta de 0 (incluso) até stop (não-incluso). Exemplo: a = range(3) # [0, 1, 2] range(start, stop [,step]) - conta de start (incluso) até stop (não-incluso). Se step for fornecido, faz a iteração de step em step. Exemplos: a = range(1, 9, 2) # [1, 3, 5, 7] 

    No código, temos 2 laços.

    O primeiro (mais externo) itera a partir de C = 1, enquanto C < 7, e realiza C=C+1. Esse loop vai iterar para os valore [1, 2, 3, 4, 5, 6], e pode ser substituído por for C in range (1, 7).

    O segundo (mais interno) itera a partir de D = 4, enquanto D > 0, e realiza D=D-1. Esse loop vai iterar para os valores [4, 3, 2, 1], e pode ser substituído por for D in range (4, 0, -1). 

    Dessa forma, temos:

      S=0
      for C in range(1,7):
          for D in range(4,0,-1):
              S=S+C+D
      print S

    Prof. Judah Reis

  • Esse é o tipo de questão que podemos e devemos usar o teste de mesa para resolver.

    Primeiramente iremos fazer um teste de mesa para entender o código do enunciado.

     

    As variáveis S e C são inicializadas com os valores 0 e 1 respectivamente. 

    S 0

    C 1

    D

    Como C = 1 é menor que 7, ele entra no while e faz D=4. 

    S 0

    C 1

    D 4

    Na linha 5 do código aparece um while aninhado. Como a condição de permanência nesse while aninhado é D > 0 e o D neste ponto vale 4 ele entra no while D > 0 e faz as operações S=S+C+D e D=D-1.

    S 0 5

    C 1

    D 4 3

    Agora D = 3 e a condição de permanência no while D > 0 permanece válida fazendo com que seja feita mais uma volta.

    S 0 5 9

    C 1 1 1

    D 4 3 2

    Agora D = 2 e a condição de permanência no while D > 0 permanece válida fazendo com que seja feita mais uma volta.

    S 0 5 9 12

    C 1 1 1 1

    D 4 3 2 1

    Agora D = 1 e a condição de permanência no while D > 0 permanece válida fazendo com que seja feita mais uma volta.

    S 0 5 9 12 14

    C 1 1 1 1 1

    D 4 3 2 1 0

    Neste passo D = 0 e ele sai do while interior e executa a instrução C = C + 1.

    S 0 5 9 12 14

    C 1 1 1 1 1 2

    D 4 3 2 1 0

    Agora, C = 2 e, como a condição de permanência no while exterior é C < 7, ele segue para a 2a iteração desse while exterior. Nessa 2a volta, D recebe novamente o valor 4 e o while interior gira 4 vezes novamente (D = 4, D = 3, D = 2, D = 1). A cada 1 dessas 4 voltas são executadas as instruções S=S+C+D e D=D-1.

    S 0 5 9 12 14 14 20 25 29

    C 1 1 1 1 1 2 2 2 2

    D 4 3 2 1 0 4 3 2 1

    Neste passo D = 0 e ele sai do while interior e executa a instrução C = C + 1.

    S 0 5 9 12 14 14 20 25 29

    C 1 1 1 1 1 2 2 2 2 3

    D 4 3 2 1 0 4 3 2 1

    Agora, C = 3 e, como a condição de permanência no while exterior é C < 7, ele segue para a 2a iteração desse while exterior. Nessa 2a volta, D recebe novamente o valor 4 e o while interior gira 4 vezes novamente (D = 4, D = 3, D = 2, D = 1). A cada 1 dessas 4 voltas são executadas as instruções S=S+C+D e D=D-1.

    S 0 5 9 12 14 14 20 25 29 29 36 42 47

    C 1 1 1 1 1 2 2 2 2 3 3 3 3

    D 4 3 2 1 0 4 3 2 1 4 3 2 1

    Neste passo D = 0 e ele sai do while interior e executa a instrução C = C + 1.

    S 0 5 9 12 14 14 20 25 29 29 36 42 47

    C 1 1 1 1 1 2 2 2 2 3 3 3 3 4

    D 4 3 2 1 0 4 3 2 1 4 3 2 1

    Agora, C = 4 e, como a condição de permanência no while exterior é C < 7, ele segue para a 2a iteração desse while exterior. Nessa 2a volta, D recebe novamente o valor 4 e o while interior gira 4 vezes novamente (D = 4, D = 3, D = 2, D = 1). A cada 1 dessas 4 voltas são executadas as instruções S=S+C+D e D=D-1.

    S 0 5 9 12 14 14 20 25 29 29 36 42 47 47 55 52 58

    C 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4

    D 4 3 2 1 0 4 3 2 1 4 3 2 1 4 3 2 1

    Neste passo D = 0 e ele sai do while interior e executa a instrução C = C + 1.

    S 0 5 9 12 14 14 20 25 29 29 36 42 47 47 55 52 58

    C 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5

    D 4 3 2 1 0 4 3 2 1 4 3 2 1 4 3 2 1

    Agora, C = 5 e, como a condição de permanência no while exterior é C < 7, ele segue para a 2a iteração desse while exterior. Nessa 2a volta, D recebe novamente o valor 4 e o while interior gira 4 vezes novamente (D = 4, D = 3, D = 2, D = 1). A cada 1 dessas 4 voltas são executadas as instruções S=S+C+D e D=D-1.

    S 0 5 9 12 14 14 20 25 29 29 36 42 47 47 55 52 58 58 67 75 82

    C 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5

    D 4 3 2 1 0 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1

    Neste passo D = 0 e ele sai do while interior e executa a instrução C = C + 1.

    S 0 5 9 12 14 14 20 25 29 29 36 42 47 47 55 52 58 58 67 75 82

    C 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6

    D 4 3 2 1 0 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1

    Agora, C = 5 e, como a condição de permanência no while exterior é C < 7, ele segue para a 2a iteração desse while exterior. Nessa 2a volta, D recebe novamente o valor 4 e o while interior gira 4 vezes novamente (D = 4, D = 3, D = 2, D = 1). A cada 1 dessas 4 voltas são executadas as instruções S=S+C+D e D=D-1.

    S 0 5 9 12 14 14 20 25 29 29 36 42 47 47 55 52 58 58 67 75 82 82 92 101 109

    C 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6

    D 4 3 2 1 0 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1

    Neste passo D = 0 e ele sai do while interior e executa a instrução C = C + 1. Como C = 6, após a operação C=C+6 a variável C irá para o valor C = 7. Isso faz com que a condição de permanência no while exterior deixe de ser verdade, o que leva o algoritmo Python a executar sua última instrução: print S. Como S a esta altura vale 109, é esse o valor que é impresso na tela.

    Ufa! Isso tudo foi só para entender o enunciado.

    Vocês repararam que o código do enunciado tem 2 whiles? 1 while exterior onde a variável C varia de 1 a 6 e 1 while interior em que a variável D varia de 4 a 1. Dentro desses 2 loops aninhados, o S vai crescendo de acordo com a fórmula S=S+C+D.

    É como se cada 1 desses whiles fosse um range. O while exterior tem o mesmo comportamento que um range(1,7) (start = 1, stop = 7 não inclusive e incremento default 1). Já o while exterior tem o mesmo comportamento que um range(4,0,-1) (start = 4, stop = 0 não inclusive e incremento = -1). O que as alternativas a, b, c, d, e fazem é justamente isso. Mapear os whiles em 2 ranges.

    Das 5 alternativas, a que bate com esses 2 ranges (range(1,7) e range(4,0,-1)) e tem em seu interior a fórmula que corretamente incrementa o S=S+C+D é a alternativa D.

     

    Resposta: D

  • Em Python é comum usarmos - for i in range(0, 10):

    print i,

    para realizar uma repetição baseada em um contador, gerando uma lista através do range.

    Nesse código nós temos dois laços com o WHILE(enquanto)

    O primeiro itera a partir de C = 1, enquanto C < 7, e realiza C=C+1

    O segundo itera a partir de D = 4, enquanto D > 0, e realiza D=D-1

    1° Para (for) C in range (1,7) = A lista [1, 2, 3, 4, 5, 6]

    2º Para (for) D in range (4, 0, -1) = A lista [4, 3, 2, 1]

      S=S+C+D

    Gabarito LETRA D

  • Questão pra chutar. Não dá tempo de fazer.


ID
1771708
Banca
FGV
Órgão
PGE-RO
Ano
2015
Provas
Disciplina
Programação
Assuntos

Na linguagem Python 2.7, um comando como

                                            a=input("XXX")

provoca:

Alternativas
Comentários
  • input() tem um parâmetro opcional, que é a string de prompt. Se a função de entrada for chamada, o fluxo do programa será interrompido até que o usuário forneça uma entrada e tenha terminado a entrada com a tecla de retorno.

  • Gabarito: Letra D.

     

    a) a definição de uma referência a um arquivo que deverá ser utilizado no modo somente leitura;

    ERRADO - Para definir uma referência a um arquivo somente como leitura, usamos o método f = open('workfile', 'r'), onde 'r' significa read-only (somente leitura).

     

    b) a criação de uma lista de valores denominada “a” cujo elemento inicial é a string “XXX”;

    ERRADO - Para definir uma lista 'a' com o primeiro valor 'xxx' teríamos a = ["xxx"].

     

    c) a leitura de um valor do arquivo de entrada correntemente designado de acordo com um formato expresso pela string “XXX”;

    ERRADO - A leitura de valores de um arquivo de entrada f = open('workfile'), é feita a partir do método f.read(). Não existe "leitura de acordo com formato".

     

    d) um prompt no dispositivo de saída e a leitura de um valor que é armazenado na variável “a”;

    CORRETO - A função input(prompt) recebe o texto que será mostrado no console, e retorna o valor digitado. 

     

    e) a associação à variável “a” de uma função denominada “XXX” que pertence à biblioteca “input”

    ERRADO - Isso seria feito a partir da instrução from input import XXX as a. Não é isso que está sendo feito. Inclusive, a função input é parte do módulo builtins, não existe o módulo input.

    Prof. Judah Reis

  • Já vimos anteriormente que a função a = input(“XXX”) imprime no prompt do usuário a mensagem “XXX” e fica aguardando o usuário digitar alguma coisa no prompt. O que for digitado é retornado pela função e armazenado na variável a.

    Resposta: D

  • Já vimos anteriormente que a função a = input(“XXX”) imprime no prompt do usuário a mensagem “XXX” e fica aguardando o usuário digitar alguma coisa no prompt. O que for digitado é retornado pela função e armazenado na variável a.

    Resposta: D


ID
1771711
Banca
FGV
Órgão
PGE-RO
Ano
2015
Provas
Disciplina
Programação
Assuntos

Na linguagem Python 2.7, os comandos

                L=range(0,12)

                print L

produzem:

Alternativas
Comentários
  • range é uma função para criar listas de números em progressão aritmética. quase como um  comando for


    fonte: https://docs.python.org/2/library/functions.html?highlight=range#range

  • O tipo range () retorna uma sequência imutável de números entre o inteiro de início especificado e o inteiro de parada.

    O construtor range () tem duas formas de definição:

    intervalo (parada)

    intervalo (iniciar, parar [, passo])

     

    Exemplo:

    # empty range

    print(list(range(0)))

    # using range(stop)

    print(list(range(12)))

    # using range(start, stop)

    print(list(range(1, 12)))

     

    Quando você executa o programa, a saída será:

     

    []

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

  • eu realmente coloquei a mensagem de erro pois o print estaria sem as ()

  • Jhonata, tem que ficar atento à versão de python. 

    Somente a partir da 3.6 que precisa de () no print

    A questão fala python 2.7

  • Já perceberam que o range cai MUITO em questão de concurso. O segredo para acertar todas essas questões é entender como o range funciona. Os parâmetros do range são os seguintes.

     

    O start e o step são opcionais. Quando é colocado no enunciado range(0,12) é porque o 1o parâmetro step = 0, o 2o parâmetro stop = 12 e o 3o parâmetro step foi ignorado. Se ele é ignorado, vale seu valor default que é +1. Então step = 1.

    Com esses parâmetros, nosso range começa em 0 e vai incrementando de 1 em 1 até chegar no 12 (exclusive), ou seja, no inteiro imediatamente antes do 12 que é o 11.

    Nosso range então é a sequência [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]. 

    Resposta: B

  • No meu quando coloco:

    X=Range(5)

    Print(x) = (0,5)

    Print(list(x)) = [0,1,2,3,4]

    Deve ser a versão, segue o jogo!

  • Já perceberam que o range cai MUITO em questão de concurso. O segredo para acertar todas essas questões é entender como o range funciona. Os parâmetros do range são os seguintes.

    range([start], stop[, step])

    O start e o step são opcionais. Quando é colocado no enunciado range(0,12) é porque o 1º parâmetro step = 0, o 2º parâmetro stop = 12 e o 3º parâmetro step foi ignorado. Se ele é ignorado, vale seu valor default que é +1. Então step = 1.

    Com esses parâmetros, nosso range começa em 0 e vai incrementando de 1 em 1 até chegar no 12 (exclusive), ou seja, no inteiro imediatamente antes do 12 que é o 11.

    Nosso range então é a sequência [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]. 

    Resposta: B

  •  L= range(0,12)

    >>> print(L)

    range(0, 12)

    No Python 3.8

    • Já perceberam que o range cai MUITO em questão de concurso. O segredo para acertar todas essas questões é entender como o range funciona. Os parâmetros do range são os seguintes.
    • O start e o step são opcionais.
    • Quando é colocado no enunciado range(0,12) é porque o 1º parâmetro step = 0, o 2º parâmetro stop = 12 e o 3º parâmetro step foi ignorado. Se ele é ignorado, vale seu valor default que é +1. Então step = 1.
    • Com esses parâmetros, nosso range começa em 0 e vai incrementando de 1 em 1 até chegar no 12 (exclusive), ou seja, no inteiro imediatamente antes do 12 que é o 11.
    • Nosso range então é a sequência [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].

ID
1820569
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2015
Provas
Disciplina
Programação
Assuntos

A respeito de sistemas de gerenciamento de conteúdo e de acessibilidade, julgue o seguinte item.

Plone é uma extensão do CMF (content management framework), desenvolvido na linguagem Python, que utiliza o servidor Zope e tem a desvantagem de somente ser compatível com o banco de dados ZODB (zope object database).


Alternativas
Comentários
  • Somente compatível com o ZODB é duro. Aceito em quase todas as plataformas.

  • ERRADO.

    Plone é um sistema de gestão de conteúdos de código aberto, baseado em um framework para gestão de conteúdos (CMF), desenvolvido no topo do servidor de aplicações Zope, escrito na linguagem Python. Plone herda as funcionalidades do CMF/Zope e, assim como o Zope, se benefica de uma política de desenvolvimento baseada no trabalho colaborativo de uma comunidade crescente de usuários distribuída pelo mundo inteiro. O Plone roda em praticamente qualquer plataforma.

    O Plone oferece amplo suporte as especificações da World Wide Web Consortium - W3C que estabelece padrões web, dentre eles, tem-se o XHTML, CSS, Acessibilidade e outros padrões que garantem a qualidade e compatibilidade com diferentes browsers e dispositivos.

    Todo o conteúdo pode ser armazenado em um banco de dados, que pode ser o ZODB ou quaisquer outros bancos de dados, seja orientado a objetos ou relacional.

  • https://pt.wikipedia.org/wiki/Plone

  • Método Nishimura na veia!!
    hahahahaha

  • VÃO PARA PROVA ASSIM E SE SAIRÃO BEM EM PROGRAMAÇÃO ,,,, VAI NESSA JOSÉ...

  • Restringiu muito a funcionalidade da aplicação.

  • Gabarito errado

     

    Atualmente, com a internet das coisas, núvens, com a tentativa de integrar tudo, é inviável um sistema que seja compatível com apenas um banco de dados. 

     

    O  Plone é um dos mais populares e reconhecidos sistemas de gestão de conteúdos (CMS) open source. Este é um sistema de gestão de conteúdos altamente flexível e modular, apresentando um conjunto de características que o tornam uma das melhores soluções para o desenvolvimento de soluções de gestão de conteúdos para a web.

    É a tecnologia ideal para a implementação de portais colaborativos, aplicações de intranet e até portais institucionais, com grande ênfase na colaboração, delegação de responsabilidades, workflow, acessibilidade e usabilidade.

     

    https://eurotux.com/produtos-e-solucoes/solucoes-open-source/plone-solucoes/plone-1

  • recomendo a leitura à todos :

     

    https://pt.wikipedia.org/wiki/Zope

     

    10 minutinhos do seu tempo que vão te esclarecer muito e salvar várias questões sobre ZOPE

     

    bons estudos!

  • Assertiva E

    Plone é uma extensão do CMF (content management framework), desenvolvido na linguagem Python, que utiliza o servidor Zope e tem a desvantagem de somente ser compatível com o banco de dados ZODB (zope object database).

    O Zope também pode distribuir conteúdo em um site de uma Intranet ou Internet.

  • ERRADO

    Plone é uma extensão do CMF(Content Management Framework), um arcabouço que surgiu a partir do Zope, um servidor de aplicações Web, de código aberto, especializado em gestão de conteúdos, portais e aplicações personalizadas. O projeto Plone surgiu em 1999 e a sua primeira versão estável foi publicada em 2001. A última versão estável do Plone (3.0.6) foi publicada em fevereiro de 2008 e está disponível para cópia sob a licença GNU/GPL.

    FONTE

    http://ww2.inf.ufg.br/sites/default/files/uploads/relatorios-tecnicos/RT-INF_002-08.pdf

  • Eu não sabia do que se tratava, mas o que me chamou a atenção pro erro foi: "tem a desvantagem de somente ser compatível com o banco de dados ZODB (zope object database)."

    O Python é uma linguagem de programação livre, roda em qualquer sistema operacional, qual a razão de se desenvolver uma aplicação que não rode em determinados servidores e banco de dados.......

    Errado!

  • A questão afirma que: "Plone é uma extensão do CMF (content management framework) [CERTO], desenvolvido na linguagem Python [CERTO], que utiliza o servidor Zope [CERTO] e tem a desvantagem de somente ser compatível com o banco de dados ZODB (zope object database) [ERRADO]".

    Plone é um tipo de sistema de gerenciamento de conteúdo (CMS, de Content Management System) escrito na linguagem Python e que roda sobre um Servidor de Aplicações Zope e sobre o framework CMF (Content Management Framework).

    O Plone pode ser usado para a construção de portais de informação em intranets, extranets e Internet. Pode ser usado também para construir sistemas de publicação de documentos ou até como ferramenta para trabalho colaborativo. O Plone roda em praticamente qualquer plataforma.

    De um jeito mais fácil: Plone é um sistema que cria conteúdo para sites, por exemplo, escrito na linguagem Python e que roda sobre o servidor Zope (nesse caso o site será um site “em Zope”) e, para fazer isso, usa um pacote de códigos prontos chamado CMF. Sobre o servidor Zope: normalmente os sites são formados por arquivos em um banco de dados, no caso do Zope, os sites são formados por objetos em bancos de dados.

    O que é CMS?

    Os CMS é um conjunto de ferramentas que ajudam a desenvolver sites mais simples, dando opções para postagens de vídeos, fotos, etc. Qualquer pessoa deve poder criar conteúdos para o seu site com ajuda de um CMS. Os mais famosos são o Jomla (intermediário), WordPress (mais fácil de usar) e o Drupal (mais difícil de usar). O Plone, pois, é um desses sistemas de gerenciamento de conteúdo.

    FONTE: Wikipédia.

  • MEC - 2015 - CESPE - A respeito de sistemas de gerenciamento de conteúdo e de acessibilidade, julgue o seguinte item. Plone é uma extensão do CMF (content management framework), desenvolvido na linguagem Python, que utiliza o servidor Zope e tem a desvantagem de somente ser compatível com o banco de dados ZODB (zope object database). [ERRADA] O lone roda em praticamente qualquer plataforma.

    ANTT - 2013 - CESPE - Julgue os itens a seguir, com relação às tecnologias empregadas nos servidores de aplicação web. O Zope é um servidor de aplicações web, escrito em Python, com banco de dados orientado a objetos ZODB. O Zope não permite a criação de aplicações web embasadas em componentes. [ERRADA] O Zope é um servidor de aplicações web, escrito em Python, com banco de dados orientado a objetos ZODB, que permite a criação de aplicações web embasada em componentes já que o suporte a componentes é a principal função de um servidor de aplicação, seja ele em qualquer linguagem de programação.

    MPOG - 2013 - CESPE - Um sítio web com Zope, um servidor de aplicações web escrito em Python, é formado por objetos em arquivos, tal como a maioria dos servidores de aplicação web. [ERRADA] Errada, pois os objetos estão em bancos de dados e não em arquivos.

    SERPRO - 2013 - CESPE - Um dos mecanismos de criação de modelos de páginas fornecido pelo Zope é o ZPT, que disponibiliza uma quantidade limitada de recursos, estimulando a implementação de lógica em scripts Python que são invocados nos modelos. [CERTA] O Zope fornece dois mecanismos para a criação de modelos de páginas: Dynamic Template Markup Language (DTML: Linguagem Dinâmica de Marcação de Modelos), e Zope Page Templates (ZPT: Modelos de Páginas Zope). ZPT proporciona apenas um conjunto limitado de recursos, estimulando os programadores a implementar a lógica em scripts Python à parte, que são apenas invocados (e não incluídos) nos modelos.

    BANCO DA AMAZÔNIA - CESPE - 2010 - Zope é um servidor de aplicação open source desenvolvido utilizando-se exclusivamente a linguagem Python. O Zope possui banco de dados orientado a objetos integrado denominado Plone. [ERRADA] O banco de dados do ZOPE chama-se ZODB, não é desenvolvido utilizando-se apenas a linguagem Pyhton, mas também a C++ e Plone é um sistema robusto de gerenciamento de conteúdo escrito na linguagem Python e que é executado sobre o Servidor de Aplicações Zope e sobre o framework CMF (Content Management Framework).

  • oi NASA, tô chegando !


ID
2021389
Banca
MS CONCURSOS
Órgão
Creci - 1° Região (RJ)
Ano
2016
Provas
Disciplina
Programação
Assuntos

Qual alternativa representa a declaração de uma variável do tipo texto, na linguagem de programação Python?

Alternativas
Comentários
  • Fui na alternativa C por eliminação, pois em Python não há tipagem explícita das variáveis, com por exemplo int, boolean, etc.

    A tipagem é dada à variável dinamicamente conforme o conteúdo atribuído, como se pode observar na alternativa C, a variável textp recebeu o conteúdo "texto de exemplo" (poderia ser também 'texto de exemplo') que por estar em aspas ("") é considerada string (tipo texto).

    Entretanto, a alternativa C está errada, pois em Python não existe ponto e virgúla no final do comando.

  • A alternativa C está certa sim.

    Pode usar com ponto e vírgula, Ricardo.

    >>> textp = "texto de exemplo";
    >>> textp
    'texto de exemplo'
    >>>

  • Olá Jones Sarmento,

    eu acabei de testar e realmente funciona com ponto e vírgula até mesmo depois do print (textp);

    Então na verdade em Python pode-se utilizar ponto e vírgula (;), fiz o comentário, pois já em algumas videoaulas que falam que o Python não se usa o ;

    Entretanto, mesmo utilizando o ponto e vírgula, o que separa os blocos continua sendo a identação.

    Obrigadi pela dica.

  • Gabarito: Letra c

     

    a)  var valor = 3;

    ERRADO - Em Python não utilizamos "var" para declarar uma variável. Na verdade, não usamos nada, só atribuímos um valor.

     

    b)  boolean inicio = falso;

    ERRADO - Em Python não declaramos tipo de variável. Tampouco seria uma variável textual...

     

    c)  textp = "texto de exemplo";

    CORRETO - A atribuição é feita diretamente, utilizando aspas duplas ou simples (ou ainda triplas-aspas) para delimitar o texto. 

     

    d)  int i = 1;

    ERRADO - Em Python não declaramos tipo de variável. Tampouco seria uma variável textual...

    Prof. Judah Reis

  • Ponto e vírgula é opcional no Python

ID
2083075
Banca
COMPERVE
Órgão
UFRN
Ano
2016
Provas
Disciplina
Programação
Assuntos

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 é

Alternativas
Comentários
  • range(10) - produz um vetor de 10 posições

    a contar da posição 0 ( igual JAVA, JS )  

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  • O objetivo da questão é verificar se o candidato compreende o mecanismo de fatiar o vetor.

    Sendo assim, a solução é seguinte:

    -> v = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    -> temp = v[2:7:2] #Significa que a lista será fatiada a partir da posição v[2] =2 até o elemento v[7] = 7 de dois em dois. Sendo assim, temp=[2,4,6]

    Fazendo a soma iterando pelos elementos de temp, teremos: 2+4+6 = 12

    Gabarito: B

     

  • Para quem não sabe: s+=n é o mesmo que s=s+n.

  • Não tá indentado, vai dar erro xD Anula!


ID
2083078
Banca
COMPERVE
Órgão
UFRN
Ano
2016
Provas
Disciplina
Programação
Assuntos

Na linguagem Python, pode-se utilizar decorators para modificar o comportamento de funções. Para criar um método estático em uma classe que recebe como parâmetro uma referência a própria classe, utiliza-se o decorator

Alternativas
Comentários
  • Os decorators são funções que recebem uma classe ou uma função e retornam algo para substituir a classe ou a função que receberam. Assim é possível mudar todo o comportamento da função ou da classe, simplesmente a substituindo por outra coisa, ou adicionar comportamento ao comportamento padrão.

    a) @staticmethod: permite criar métodos estáticos e esses métodos não podem ser sobrescritos pelas subclasses. Ele é imutável.

    b) @classmethod: permite criar métodos estáticos que podem ser sobrescritos pelas subclasses. Isto é porque o primeiro parâmetro das funções que tem o @classmethod tem que ser sempre cls (classe)

     

    Fonte:http://programandonoaquario.blogspot.com.br/2016/07/python-decorator.html


ID
2083084
Banca
COMPERVE
Órgão
UFRN
Ano
2016
Provas
Disciplina
Programação
Assuntos

Classes do tipo new-style foram incorporadas à linguagem Python a partir da sua versão 2.7, o que permite expandir a capacidade de declaração de classes. Classes do tipo new-style

Alternativas
Comentários
  • 7 Herança e Polimorfismo

    7.1 Derivação e Herança

    Esta seção revê o conceito de classe derivada. As classes derivadas são uma característica extremamente útil em Python porque permitem que o programador defina classes novas estendendo classes existentes. Usando classes derivadas, o programador pode explorar as comunalidades que existem entre as classes de um programa. As classes diferentes podem compartilhar valores e operações.

    A derivação é a definição de uma classe nova estendendo uma classe existente. A classe nova é chamada de classe derivada e a classe existente de quem é derivada é chamada de classe base.

     

    Em Python, deve haver ao menos uma classe base, mas pode haver mais de uma classe base, formando assim herança múltipla.

    Python suporta classes clássicas (old-style classes) e classes de novo-estilo (new-style classes). Uma new-style class é uma classe que é derivada da classe interna do objeto. Uma old-style class é uma classe que não tem uma classe base ou uma que é derivada somente de outras classes old-style.

    https://wiki.python.org.br/ProgramacaoOrientadaObjetoPython


ID
2083087
Banca
COMPERVE
Órgão
UFRN
Ano
2016
Provas
Disciplina
Programação
Assuntos

Sobre a implementação de conceitos de programação orientada a objetos na linguagem Python, é correto afirmar:

Alternativas
Comentários
  • A) self = this do JAVA

    B) expor atributos no encapsulamento !?!?!? 

    D) _init_ é para encapsulamento.

  • Existe interface em Python?

  • Pra mim não fez sentido. Apesar de o Python não possuir a estrutura de linguagem interface, como o Java ou PHP, interface é um conceito de orientação à objetos e é formada pelo conjunto de métodos públicos de um objeto. É aquilo que o objeto expõe para o mundo e com o qual outros objetos podem interagir. Sabendo disso, não faz sentido dizer que é possível implementar uma interface sem todos os métodos. Se você não implementa todos os métodos de uma interface, você não está implementando a interface.

  • c) uma classe que implementa uma interface não é obrigada a implementar todos os métodos definidos na interface.

     

    Bom... em Java (bem como acredito que seja em Python, uma vez que também é uma linguagem OO) esse cenário é possível caso seja uma classe abstrata.

     

    Segue um exemplo...

     

    interface Time { }

     

    interface Missao {
        void apoiar(Time brasil);
        void provocar(Time argentina);
    }

     

    abstract class Mascote implements Missao {   }

     

    class CanarinhoPistola extends Mascote {

        @Override
        public void apoiar(Time brasil) { }

        @Override
        public void provocar(Time argentina) { }

    }

     

    Perceba que... a classe abstrata Mascote implementa a interface Missao, mas não é obrigada a implementar seus métodos.

    Entretanto, é a classe concreta CanarinhoPistola, que herda de Mascote, que implementa os métodos de Missao.

     

    Espero ter ajudado e rumo ao Hexa! :D

  • a) O super() é utilizado entre heranças de classes, ele nos proporciona extender/subscrever métodos de uma super classe (classe pai) para uma sub classe (classe filha), através dele definimos um novo comportamento para um determinado método construído na classe pai e herdado pela classe filha.

    b) O protocolo de descritor do Python é simplesmente uma maneira de especificar o que acontece quando uma referência a um atributo em um modelo é feita. Ele permite que um programador gerencie o acesso a atributos de forma rápida e eficiente: set, get, delete

    Encapsulamento é a proteção dos atributos ou métodos de uma classe, em Python existem somente o public e o private e eles são definidos no próprio nome do atributo ou método.

    d) _init_ este método é chamado quando um objeto de uma classe é instânciado. Este método é útil para fazer qualquer inicialização que você queira com seu objeto, ou seja, ele é o método "Inicializador" da instancia.

  • ORIENTADA A OBJETOS:

    TEM HERANÇA MÚLTIPLA.


ID
2135137
Banca
IF-PE
Órgão
IF-PE
Ano
2016
Provas
Disciplina
Programação
Assuntos

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

Alternativas
Comentários
  • Gabarito: D

    A) Errado! Para obter o tamanho da lista deve ser utilizado o comando len(candidatos)
    Fonte: https://docs.python.org/2/library/functions.html#len

    B) Errado! candidatos.append() adiciona um elemento no FINAL da lista
    Fonte: https://docs.python.org/2/library/array.html?highlight=append#array.array.append

    C)Errado! candidatos.insert() precisa de pelo menos DOIS argumentos: primeiro o indice e depois o objeto a ser inserido.
    para inserir um elemento no inicio desta lista o comando deveria ser: candidatos.insert(0,'Antonio')
    Fonte: https://www.tutorialspoint.com/python/list_insert.htm

    D) Correto! Valores de indice negativo são considerados como partindo do final do array.
    "Negative values are treated as being relative to the end of the array."
    Fonte: https://docs.python.org/2/library/array.html?highlight=array#module-array

    E) Errado! Conforme letra A

  • Esse Length quase me pega, se não prestar atenção passa batido.

  • GAB. D

    LISTAS = DEFINIDAS POR COLCHETES, DENTRO DELES OS OBJETOS SEPARADOS POR ASPAS E VÍRGULAS.

    candidatos = ['José', 'João', 'Cibelly', 'Sonivaldo','Dariane']

    JOSE= 0 JOÃO=1 CIBELLY=2 ....

    QUANDO NEGATIVO SE INICIA DE TRÁS PRA FRENTE DARIANE= -1 SONIVALDO = -2 .... e assim por diante.


ID
2216533
Banca
FGV
Órgão
Câmara Municipal de Caruaru - PE
Ano
2015
Provas
Disciplina
Programação
Assuntos

Analise o código Python a seguir.

L1=[10,20,30]

L2=[40,50]

L1.append(L2)

print L1

Assinale a opção que descreve corretamente o que acontece quando esse programa é executado no Python 2.7

Alternativas
Comentários
  • Gab: B

     

    A resposta é a letra B, pois o comando append inclui o valor da variável L2 na posição final do vetor L1. Como o conteúdo da variável L2 é um vetor de tamanho 2 [40,50], ele que será incluído na 4ª posição de L1.

     

                             “[10, 20, 30, [40, 50]]”.

          posições        1ª   2ª    3ª    4ª 

     

  • O comando "append" é utilizado para adicionar um valor completo a uma variável. No exemplo apresentado, será retornado o resultado de impressão “[10, 20, 30, [40, 50]]”, pois L1 já continha os valores [10, 20, 30] e fora atribuído outros valores a essa variável, valores de L2 [40, 50], que juntando ficou “[10, 20, 30, [40, 50]]”.

  • Para dar a resposta C, é o seguinte código:

     

    L1=[10,20,30]

    L1.append(40)

    L1.append(50)

    print L1

     

    Quanto à resposta do colega DIEGGO, só acrescentaria que o Python começa de 0 [Zero]:

    [10, 20, 30, [40, 50]]

     0    1     2        3 

     

     

  • O comando append inclui o valor da variável L2 na posição final do vetor L1.

    Como o conteúdo da variável L2 é um vetor de tamanho 2 [40,50], ele que será incluído na 4ª posição de L1.

    Ué,

    professor, e porque a resposta não é letra C?? Muito bem observado, padawan!

    O método append inclui a lista L2 como se fosse só um elemento! Ou seja, a lista final tem 4 elementos ao

    invés de 5, pois L2 é tratado como se fosse uma coisa só! O gabarito, portanto, é a letra B.

    -Estratégia Concursos-

  • Se fosse a versão 3.X do Python, daria uma mensagem de erro, pois o uso de parênteses no comando PRINT se tornou obrigatório a partir dessa versão. Exemplo:

    a = 2

    b = 3

    print ( a + b ) //CERTO

    print a + b // ERRADO

  • P0rr@ examinador, que maldade vc fez comigo..... Fui seco na letra C

  • Fui seco na letra A pelo falta de parênteses, não sabia q nas outras versões n era obrigatório!

  • GABARITO

    O comando append adiciona qualquer valor completo, por exemplo, se enviarmos um objeto, ele adiciona o objeto, se enviarmos uma lista, ele adiciona a lista inteira ao invés de seus itens.

    >>> L1 = [10, 20, 30]

    >>> L2 = [40, 50]

    >>> L1.append (L2)

    >>> L1 ou print (L1)

    [10, 20, 30, [40, 50]]

  • Galera a questão cuidado com essa questão, na atual versão Python 3x é obrigatório o uso do parênteses no comando print!!

    Na versão 3x, o resultado será "SyntaxError: Missing parentheses in call to 'print'. Did you mean print(L1)?"

    • print (L1) #Correção p/ nova versão python

    • Só acrescentando, como [4,5] é visto como um só elemento, se usarmos print (L1[3]) vai trazer como resultado [4,5]

    • Caso você queira que apresente como está na letra c “[10, 20, 30, 40, 50]”, é só usar a seguinte sintaxe: L1.extend(L2)
  • ~>A função append é destinada ao uso em listas (que são valores ordenados, mutáveis e delimitados por colchetes)

    A=["maça", 10, "pera"]

    print(A)

    >>

    ['maça', 10, 'pera']

    ~>A função append tem como característica inserir um valor (seja uma string, um float, inteiro) no último valor da lista:

    A=["maça", 10, "pera"]

    print(A)

    A.append("ilhas")

    print(A)

    >>

    ['maça', 10, 'pera']

    ['maça', 10, 'pera', 'ilhas']

    ~> É muito parecida com a função insert por inserir também um valor à lista, mas com ela não se confunde:

    A=["maça", 10, "pera"]

    print(A)

    A.insert(0,"ilhas") # insere a string na posição 0 (lembrar que no Python a posição zero é a primeira

    print(A)

    >>

    ['maça', 10, 'pera']

    ['ilhas', 'maça', 10, 'pera']

    ~>Se não é colocado um argumento na função:

    A=["maça", 10, "pera"]

    print(A)

    A.insert("ilhas")

    print(A)

    >>

    TypeError: insert expected 2 arguments, got 1


ID
2229868
Banca
UFMT
Órgão
UFMT
Ano
2016
Provas
Disciplina
Programação
Assuntos

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.

Alternativas
Comentários
  • Analise das opções:

     

    Os códigos-fontes em Python devem ser compilados interpretados  pelo compilador interpretador Python que pode ser utilizado em ambientes Windows e Linux. (Falsa)

     

    A linguagem de programação C++ surgiu para substituir a linguagem C, pois C é obsoleta e não é mais utilizada. (Falsa C++ foi a evolução da linguagem C em direção a POO )

     

    Java é uma linguagem de programação orientada a objetos que é executada em uma máquina virtual Java (JVM). (Correta)

     

    As linguagens de programação C++, Python e Java utilizam o modelo de orientação a objetos. (Correta)

  • rapaz, se eu falar pra vcs que python é sim compilado

    inclusive no mesmo estilo de java?

    tem um compilador python que gera bytecode

    a diferença é que esse processo é automático

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

    An important aspect of Python’s compilation to bytecode is that it’s entirely implicit. You never invoke a compiler, you simply run a .py file. The Python implementation compiles the files as needed. This is different than Java, for example, where you have to run the Java compiler to turn Java source code into compiled class files. For this reason, Java is often called a compiled language, while Python is called an interpreted language. But both compile to bytecode, and then both execute the bytecode with a software implementation of a virtual machine.


ID
2312182
Banca
IF-PE
Órgão
IF-PE
Ano
2017
Provas
Disciplina
Programação
Assuntos

No que diz respeito ao Django (framework), analise as proposições a seguir:
I. É possível definir seus modelos de dados com classes em Python, porém não podemos gerar automaticamente o SQL correspondente e executá-lo no banco de dados a ser utilizado.
II. O Django necessita de ferramentas auxiliares para realizar a administração, só assim é possível atualizar o conteúdo do seu sistema.
III. Com o Django é possível projetar URLs sem nenhuma limitação estrutural.
IV. O Django contém um sistema de templates que separa o html do código em Python.
V O framework tem suporte a aplicações multi-linguagem.
Estão CORRETAS as proposições

Alternativas
Comentários
  • A questão não exige muito conhecimento sobre o framework Django, claro que é recomendável.

    I. É possível definir seus modelos de dados com classes em Python, porém não podemos gerar automaticamente o SQL correspondente e executá-lo no banco de dados a ser utilizado.

    Errado. Alternativa muito exclusiva para o Django

     

     

     

    II. O Django necessita de ferramentas auxiliares para realizar a administração, só assim é possível atualizar o conteúdo do seu sistema.

    Errado. Alternativa muito exclusiva para o Django

     

     

     

    Letra B

  • I: ERRADO. Mapeamento objeto-relacional - é possível definir seus modelos de dados com classes em Python e gerar automaticamente o SQL correspondente e executa-lo no banco de dados a ser utilizado. Mas, se por preciso é possível escrever os comandos SQL também.

     

    II: ERRADO. Django é um framework para web, de alto nível desenvolvido em Python, seguindo as filosofias de desenvolvimento rápido, limpo e com design pragmático. Interface de administração automática - o django traz automaticamente uma interface de administração automática onde é possível atualizar o conteúdo do seu sistema.

     

    Fonte: https://wiki.python.org.br/PythonParaWeb


ID
2322637
Banca
Exército
Órgão
EsFCEx
Ano
2016
Provas
Disciplina
Programação
Assuntos

Considere o programa escrito em linguagem Python:

>>> matriz =[[1,2,3], [4,5,6], [7,8,9]]

>>> matriz [2][1]

O resultado impresso será:

Alternativas
Comentários
  • O gabarito é a letra E.

     

    O programa imprime o elemento 1 do conjunto 2. Como a contagem começa em 0, o conjunto 2 é [7,8,9]. O elemento 1 é 8. 

  • E) 8 (GABARITO) 

    >>> matriz =[[1,2,3], [4,5,6], [7,8,9]]

    >>> matriz [2][1] 

    Neste caso ele cria uma MATRIZ com 3 linhas e 3 colunas na 1ª linha, como sabem que o índica se conta a partir do ZERO (0) então ficaria assim a MATRIZ

       0 1 2

    0 - 1 2 3

    1 - 4 5 6

    2 - 7 8 9

    Na 2ª linha ele acessa [2], linha 2, [1], coluna 1.

    *Número vermelhos são índice.

    Fé na missão!

  • Mais uma que não precisa saber nada de pyton... somente conceito de matrizes.


ID
2322640
Banca
Exército
Órgão
EsFCEx
Ano
2016
Provas
Disciplina
Programação
Assuntos

Considere o programa escrito em linguagem Python:

>>> t , f = 1 ,0

>>> x , y = 88,99

>>> (f and x) or y

O resultado impresso será:

Alternativas
Comentários
  • O gabarito é a letra C.

     

    f = 0

    x = 88

    y = 99

    (f and x) or y = falso ou 99 = 99

  •  c) 99 (GABARITO)

    >>> t , f = 1 ,0
    >>> x , y = 88,99
    >>> (f and x) or y 

    RESOLUÇÃO:

    t = 1
    f = 0
    x = 88
    y = 99

    Convertemos para binario para podermos realizar as operações BIT a BIT, como está sendo realizado na operação da 3ª linha do código.

    0000 0000 => f
    & (and)
    0101 1000 => x
    --------------
    0000 0000 => resultado
    | (or)
    0110 0011 => y
    --------------
    0110 0011 => resultado! Convertendo em base 10, temos: 99

  • Não precisa saber pyton pra resolver essa questão:

    and entre f e x: como f = 0 , um and com qualquer numero será 0.

    or entre 0 (resultado do and) e y = 99: um or entre um númeo qualquer e 0 sempre será o número qualquer, no caso 99 letra C.


ID
2322646
Banca
Exército
Órgão
EsFCEx
Ano
2016
Provas
Disciplina
Programação
Assuntos

Considere o programa escrito em linguagem Python:

>>> def funcao(n):

res = []

for i in range (n): res.append(i**2)

return res

>>> funcao (3)

O resultado impresso será:

Alternativas
Comentários
  • O gabarito é a letra B.

     

    O programa fará a multiplicação por 2 dos 3 elementos do conjunto [0,1,2].

  • A função range() retorna uma série numérica no intervalo enviado como argumento.

     

    (i ** valor) é POTENCIAÇÃO

    A linguagem tem definido que a utilização de 2 asteriscos seguidos ** significa que o número a esquerda do operador será elevado ao número a direita do operador, por exemplo: (número a direita ** número a esquerda)

     

    Fonte: http://excript.com/python/potenciacao-radiciacao-python.html

     

    @papirobizurado

  • O exercício diz que >>> função (3)

    Logo res [] = (0,1,2) obs: quando o range é dado apenas um número, assume que o início é 0, como foi dado o número 3 de argumentação, temos essa sequência.

    O laço diz que i**2 ou seja 0², 1² e 2² = 0,1,2 letra B.

  • Primeiro que em momento algum o código pede impressão.


ID
2322811
Banca
IFB
Órgão
IFB
Ano
2017
Provas
Disciplina
Programação
Assuntos

Com relação a Algoritmos e Estrutura de Dados, dadas as afirmações abaixo, segundo Farrer (1999), assinale a alternativa CORRETA:

Alternativas
Comentários
  • a) Python é uma linguagem compilável, a qual, após esse processo, gera um arquivo executável, do tipo binário. -> Interpretada

    b) A declaração de variáveis é algo obrigatório em Python. -> Não é obrigatório (Tipagem dinâmica)

    c) Python é uma linguagem procedural a qual não contempla orientação a objetos. -> É orientada 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). ->Pode armazenar vários tipos

    e) Em comandos condicionais ou de repetição, a separação de blocos de código em Phyton é feita utilizando a indentação. Correta!!!

  • Gab: Letra E

     

    Em Python, o código é agrupado através da indentação, ou seja, a endentação vai dizer se uma instrução está dentro de um bloco ou de outro.

  • Corroborando:

    Acredito que a letra D) define SETS e não LISTAS.

  • ⦁ Python é uma linguagem compilável, a qual, após esse processo, gera um arquivo executável, do tipo binário.

    Errado. O arquivo gerado após a compilação, o bytecode, não é binário, é um bytecode interpretável por uma máquina virtual.

    ⦁ A declaração de variáveis é algo obrigatório em Python.

    Errado. A declaração de variáveis não é obrigatória. Pode ser feita implicitamente.

    ⦁ Python é uma linguagem procedural a qual não contempla orientação a objetos.

    Errado. Python é multiparadigma. Contempla os paradigmas funcional, imperativo, procedural e orientação a objetos (FIPO).

    ⦁ 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).

    Errado. Listas em Python podem ter valores de tipos diferentes.

    ⦁ Em comandos condicionais ou de repetição, a separação de blocos de código em Python é feita utilizando a indentação.

    Certo. Não só nos comandos condicionais e de repetição, mas também em qualquer outro bloco deve ser feita a indentação.

    Resposta: E

  • Resumindo as semelhanças e diferenças entre LISTAS, TUPLAS e SETS:

    Lista:

    - Utiliza []

    - Posicional (pode repetir elementos).

    - PODE modificar.

    - Heterogênea (pode elementos de tipos diferentes).

    - Elementos são acessados por índice.

    Tupla:

    - Utiliza ()

    - Posicional (pode repetir elementos).

    - NÃO PODE modificar.

    - Heterogênea (pode elementos de tipos diferentes).

    - Elementos são acessados por índice.

    SET:

    - Utiliza {}

    - NÃO posicional (não pode repetir elementos).

    - PODE modificar.

    - Heterogênea (pode elementos de tipos diferentes).

    - Elementos NÃO são acessados por índice.

  • (a) Python é uma linguagem compilável, a qual, após esse processo, gera um arquivo executável, do tipo binário.

    Errado. O arquivo gerado após a compilação, o bytecode, não é binário, é um bytecode interpretável por uma máquina virtual.

    (b) A declaração de variáveis é algo obrigatório em Python.

    Errado. A declaração de variáveis não é obrigatória. Pode ser feita implicitamente.

    (c) Python é uma linguagem procedural a qual não contempla orientação a objetos.

    Errado. Python é multiparadigma. Contempla os paradigmas funcional, imperativo, procedural e orientação a objetos (FIPO).

    (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).

    Errado. Listas em Python podem ter valores de tipos diferentes.

    (e) Em comandos condicionais ou de repetição, a separação de blocos de código em Python é feita utilizando a indentação.

    Certo. Não só nos comandos condicionais e de repetição, mas também em qualquer outro bloco deve ser feita a indentação.

    Resposta: E

  • pura sacanagem , python não é uma linguagem COMPILADA mas pode sim ser COMPILÁVEL.


ID
2322877
Banca
IFB
Órgão
IFB
Ano
2017
Provas
Disciplina
Programação
Assuntos

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.

Alternativas
Comentários
  • Há 4 listas dentro de uma lista maior (dados). O for vai andar cada posição (i) da lista dados e imprimir o elemento da posição 1 de cada sublista:

    18, 16, 17, 15 

     

    Em Python:

     

    [ ]  ---> Listas

    { } ---> Dicionários

    ( ) ---> Tupla (Imutável)

    " " ---> String (Imutável)

    .

    .

    At.te

    Foco na missão

  • O for i in dados vai iterar sobre os elementos da lista dados.

    Esses elementos também são listas.

    Na 1a iteração do for, i = [“maria”, 18]. Portanto, print(i[1]) irá imprimir o 2o elemento dessa lista, o número 18.

    Na 2a iteração do for, i = [“carlos”, 16]. Portanto, print(i[1]) irá imprimir o 2o elemento dessa lista, o número 16.

    Na 3a iteração do for, i = [“alex”, 17]. Portanto, print(i[1]) irá imprimir o 2o elemento dessa lista, o número 17.

    Na 4a iteração do for, i = [“sandra”, 15]. Portanto, print(i[1]) irá imprimir o 2o elemento dessa lista, o número 15.

    Resposta: B

  • O for i in dados vai iterar sobre os elementos da lista dados.

    Esses elementos também são listas.

    Na 1ª iteração do for, i = [“maria”, 18]. Portanto, print(i[1]) irá imprimir o 2º elemento dessa lista, o número 18.

    Na 2ª iteração do for, i = [“carlos”, 16]. Portanto, print(i[1]) irá imprimir o 2º elemento dessa lista, o número 16.

    Na 3ª iteração do for, i = [“alex”, 17]. Portanto, print(i[1]) irá imprimir o 2º elemento dessa lista, o número 17.

    Na 4ª iteração do for, i = [“sandra”, 15]. Portanto, print(i[1]) irá imprimir o 2º elemento dessa lista, o número 15.

    Resposta: B


ID
2331409
Banca
IF-CE
Órgão
IF-CE
Ano
2017
Provas
Disciplina
Programação
Assuntos

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):

Alternativas
Comentários
  • Analise das opções:

     

    I. Python, Ruby e Java são linguagens de programação interpretada multiparadigma, de tipagem dinâmica e forte.  (Errado Python é uma linguagem fracamente tipada)

     

    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. (Correto - Java por exemplo possui tipos primitivos que não são 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. (Correto)

     

  • Jonathas, na verdade python é fortemente tipada, porém possui tipagem dinâmica. O erro do item I é dizer que Java possui tipagem dinâmica, pois a tipagem é estática.

  • O item I também é falso ao dizer que Java é interpretada.

  • I - Em linguagens fracamente tipadas, os tipos são deduzidos automaticamente. Outra característica é não possui problemas de mixagem ou conversão de tipos. Exemplo: Perl

    $a = 10;
    $b = “20a”;
    $c = $a + $b;
    print $c; #Exibe 30

    Em linguagens fortemente tipadas, elas se importam com o tipo de dados contido em uma variável. Se uma operação for feita entre tipos não compatíveis, um aviso é exibido pelo interpretador ou compilador. São exemplos: Python, Java e Ruby

    int i = 10;
    boolean b = true;
    System.out.println(i + b); //Erro de compilação. Não pode somar int com boolean

    A tipagem das variáveis do Python é dinâmica, pode ser alterada em qualquer hora (assim como ocorre com o Javascript). Mas o Java não possui tipagem dinâmica: uma vez definido o tipo, este se mantém. O Java também é compilado, e não interpretado como as linguagens de script (PHP, Javascript, etc). (Item errado)

     

    II - Correto - Os tipos primitivos da linguagem Java não são objetos

     

    III - Correto

  • Explicando de um jeito bem simples.

    Linguagem com tipagem DINÂMICA:

    PODE:

    x = 'sou uma string'

    x = 10 // agora sou um inteiro

    Linguagem com tipagem ESTÁTICA:

    int x = 1 // sou um inteiro

    x = "quero ser uma string agora, mas não posso, vai dar erro"

    Linguagem FORTEMENTE tipada:

    x = 'uma string' + 3 // não consigo somar uma string e um inteiro, como é o caso do Python

    Linguagem FRACAMENTE tipada:

    x = 'uma string' + 3 // posso somar, x terá o valor "uma string3", como é o caso do Javascript


ID
2369857
Banca
UFMT
Órgão
UFSBA
Ano
2017
Provas
Disciplina
Programação
Assuntos

Analise o trecho de código em Python a seguir.


class A:

            a = 1

class B(A):

            b = 2

class C1(B):

            c = 3

class C2(A):

            c = 3

class D1(C2):

            d = 4

class D2(C1):

            d = 4

class D3(B):

            d = 4 


print isinstance(D3(), B), isinstance(D2(), C2), isinstance(D2(), A), isinstance(D1(), C1) 


Considerando o código Python, assinale a alternativa que apresenta a saída do trecho destacado. 

Alternativas
Comentários
  • Em Python herança é declarado como

    Classe(Superclasse):

    Então, por exemplo, B(A): quer dizer que B estende A, ou seja, B é subclasse de A.

     

    Gabarito: a)

  • Sintaxe da função: 

     

     isinstance(objeto, classe)    ----> retornará TRUE se o objeto derivar da classe;

     

     

  • Fiz uma representação estilo árvore genealógica pra entender melhor:   

                                     

                                                                              A

                                                 |-----------------------------------------------|

                                                 B                                                     C2

                        |---------------------------------------|                                 |

                       C1                                           D3                              D1

                        |

                       D2

     

    O que a questão pede é se elemento 1 é descendente de elemento 2:  isinstance (elemento 1 (), elemento 2). Basta olhar no esquema para responder.

     

  • Na verdade do jeito que esta ai não escreve nada...

    class A:

       A = 1

    class B(A):

       B = 2

    class C1(B):

       C = 3

    class C2(A):

       C = 3

    class D1(C2):

       D = 4

    class D2(C1):

       D = 4

    class D3(B):

       D = 4

    x = isinstance(D3(), B), isinstance(D2(), C2), isinstance(D2(), A), isinstance(D1(), C1)

    print(x)

    Retorno:


ID
2402659
Banca
COSEAC
Órgão
UFF
Ano
2017
Provas
Disciplina
Programação
Assuntos

São exemplos de frameworks, linguagem de programação ou tecnologia que, quando utilizados isoladamente, geram páginas dinâmicas:

Alternativas
Comentários
  • HTML - gera páginas estátcas.

    Fortran -> não gera páginas web.

    Python -> pode ser utilizado para web. https://pythonhelp.wordpress.com/2013/03/29/programando-para-a-web-em-python/

  • Interessante observar que o examinador ressalta que ele pretende avaliar o conhecimento de determinadas linguagens programação que podem gerar páginas diâminas de maneira isolada. Tecnicamente, nenhuma linguagem faz absolutamente em ciências da computação de maneira isolada. No entanto, temos que abstrair e imaginar que a questão pretende identificar linguagens que dispensam combinações em alto ("altíssimo") nível.

  • Apenas HTML e PHP não gera conteúdo dinâmico?

  • e-

    HTML (hyper text markup language) nao produz paginas dinamicas. Fortran é uma linguagem nao-orientada à web.

  • HTML puro só static pages

  • Python pode ser usado para recuperar páginas estáticas armazenados como arquivos em um servidor e passá-los para o servidor Web para a transmissão. Você também pode gerar novas páginas web dinâmicas. Por exemplo, um script Python consegue ler os cookies do navegador armazenados em seu computador e gerar uma página da Web que parece ter sido criado especialmente para você - com seu nome, a última página visitada, uma lista de itens que você compra a partir da última site ou itens que você pode gostar. Python pode ser usado para criar sites inteiros, blogs ou manter documentos internos de uma organização. Python.org menciona o Sistema de Gerenciamento de Conteúdo EZRO como um exemplo de um aplicativo baseado em Python que é usado para criar, distribuir e manter documentos em redes locais ou de largura.

  • ESPERO QUE ESSE PYTHON ME SIRVA PARA A PF VIU

    PQ TA OSSO ESTUDAR ISSO 

  • A- Fortran e JSP. ERRADO, Fortran não gera páginas

    B-HTML e PHP. ERRADO, HTML não gera páginas dinâmicas

    C-CSS e HTML. ERRADO, HTML não gera páginas dinâmicas

    D-HTML e Javascript. ERRADO, HTML não gera páginas dinâmicas

    E-Python e ASP. CERTO

  • @futuroagentefederal2021 sigam lá


ID
2431264
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2016
Provas
Disciplina
Programação
Assuntos

Dadas as afirmativas acerca das linguagens de programação Java, C++ e Python,


I. Das três linguagens consideradas, Java é a única que não permite sobrecarga de operadores.

II. O nível de dinamismo permitido pela linguagem Python, em termos de polimorfismo, é inferior às linguagens C++ e Java, uma vez que não possui construção equivalente aos Templates (de C++) e Generics (de Java).

III. Na linguagem C++, o padrão é o uso do acoplamento estático; e para optar pelo acoplamento dinâmico, é necessário utilizar a palavra reservada virtual.

IV. Na linguagem Java, o operador final somente pode ser utilizado para qualificar atributos, não podendo ser utilizado para qualificar métodos.


verifica-se que está(ão) correta(s)  

Alternativas
Comentários
  • Quem não tem acesso:  - -> B


ID
2503795
Banca
UFSM
Órgão
UFSM
Ano
2017
Provas
Disciplina
Programação
Assuntos

Suponha que o seguinte trecho de código em Python 3 seja executado com sucesso:


import urllib.request

site=urllib.request.urlopen("http://site.ufsm.br")


Considere as afirmações a seguir.

I → Os atributos site.code e o método site.getcode( ) apresentam o mesmo valor.

II → É possível visualizar o código-fonte ao executar str(site).

III → O método site.info( ) armazena metainformações da página acessada, como os cabeçalhos HTTP.

IV → Ao acessar o conteúdo armazenado em site.info( )['Date'] é possível identificar a data em que a requisição HTTP foi realizada pelo cliente.


Estão corretas

Alternativas
Comentários
  • II: ERRADO. Não É possível visualizar o código-fonte ao executar str(site). Quando você executa o programa, a saída será site

    IV: ERRADO. Ao acessar o conteúdo armazenado em site.info( )['Date'] não é possível identificar a data em que a requisição HTTP foi realizada pelo cliente. As bibliotecas http do Python não suportam a verificação de data da última modificação, mas o httplib2 fazem.

  • como que o cidadão ia saber esses detalhes do urllib no dia da prova, considerando que há inúmeras outras bibliotecas no Python?


ID
2510293
Banca
NC-UFPR
Órgão
ITAIPU BINACIONAL
Ano
2017
Provas
Disciplina
Programação
Assuntos

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:

Alternativas
Comentários
  • Não só a linguagem Python segue essas formas de indexação (por inteiro ou string). Várias (todas) que também têm essas estruturas de dados indexam assim.

    https://stackoverflow.com/questions/7856453/accessing-map-value-by-index

  • a) Listas não podem ser modificadas depois de criadas, ao passo que sequências e dicionários podem. Listas e dicionários podem ser modificados, sequências(tuplas) são imutáveis.

     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.  Incorreta, mesma explicação da alternativa A

     c) Dicionários não podem ser modificados depois de criados, ao passo que listas e sequências podem.  Incorreta, mesma explicação da alternativa A

     d) Listas e sequências são indexadas por inteiros, ao passo que dicionários podem ser indexados por “strings”. CORRETA

     e) Listas e dicionários são indexados por inteiros, ao passo que sequências podem ser indexadas por “strings”. Listas e sequências(tuplas)são indexadas por inteiros, dicionário é indexado por string.

  • ⦁ Listas não podem ser modificadas depois de criadas, ao passo que sequências e dicionários podem.

    Errado. Listas são mutáveis. Podem ser modificadas depois de criadas. O conteúdo de seus elementos pode mudar bem como pode aumentar e diminuir de tamanho.

    ⦁ 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.

    Errado. O tamanho das listas pode ser modificado. Listas podem aumentar ou diminuir. Dicionários também. As sequências que não podem ter seu tamanho modificado.

    ⦁ Dicionários não podem ser modificados depois de criados, ao passo que listas e sequências podem.

    Errado. Dicionários podem ser modificados depois de criados. Assim como as listas. As sequências que não podem.

    ⦁ Listas e sequências são indexadas por inteiros, ao passo que dicionários podem ser indexados por “strings”.

    Certo. Para referenciar um elemento de uma lista, usa-se um índice inteiro. E para referenciar elementos de um dicionário, pode-se usar um string.

    A título de exemplo, no código abaixo, o print da linha 4 imprimirá “Coca Cola”, o elemento referente ao índice 1 da lista.

    O print da linha 7 imprimirá 9, o valor correspondente ao elemento indexado por “matemática” no dicionário.

    ⦁ Listas e dicionários são indexados por inteiros, ao passo que sequências podem ser indexadas por “strings”.

    Errado. Sequências não podem ser indexadas por strings.

    Resposta: D

  • GABARITO D!

    (a) Errado, listas podem ser modificadas ao passo que sequências não podem;

    (b) Errado, listas podem ser modificadas, assim como seu tamanho – sequências não podem ser modificadas;

    (c) Errado, dicionários podem ser modificados a qualquer momento;

    (d) Correto;

    (e) Errado, dicionários são indexados por string e sequências são indexados por inteiro. Notem que a questão não menciona os sets, mas isso não a invalida.

    Diego Carvalho

  • GABARITO: Letra D

    Tipo-------Separador---Valor Ordenado?--Valor mutável?---Valor indexável?---Admite valor duplicado?

    Lista------------[ ]----------------------Sim---------------------Sim--------------------------Sim-------------------------Sim

    Tupla-----------( )----------------------Sim---------------------Não-------------------------Sim-------------------------Sim

    Set--------------{ }----------------------Não--------------------Sim--------------------------Não-------------------------Não

    Dictionary-----{ }---------------------Não---------------------Sim-------------------------Sim--------------------------Não


ID
2548753
Banca
FUNCERN
Órgão
IF-RN
Ano
2017
Provas
Disciplina
Programação
Assuntos

Em relação às estruturas de controles da linguagem de programação Python, a palavra

Alternativas
Comentários
  • a) [ ERRADO ] pass é uma operação nula. Quando executado, nada acontece. É útil como um placeholder quando sintaticamente um statement é requerido, mas nenhum código precisa ser executado. https://docs.python.org/2.0/ref/pass.html

     

    b) [ ERRADO ] tem dois pontos depois da expressão mas não tem parênteses - https://docs.python.org/3/reference/compound_stmts.html#elif

     

    c) [ ERRADO ] o equivalente a null no Python é None - https://docs.python.org/3/library/constants.html

     

    d) [ GABARITO ] "How bizarre!" - mas é isso mesmo - https://docs.python.org/3/reference/compound_stmts.html#else

  • ⦁ pass tem o mesmo efeito que a palavra continue do C++.

    Vimos na parte teórica desta aula que o pass é uma palavra reservada em Python que serve para quando você define a assinatura de uma função, mas não deseja implementar o seu corpo, quer deixá-la vazia por enquanto. Não tem nada a ver com o continue. O continue no C++ tem a mesma função que o continue do Python. No meio de um laço, ele pula para a próxima iteração ignorando as instruções subsequentes dentro do bloco de repetição. Alternativa errada.

    ⦁ elif vem acompanhada de parênteses e dois pontos.

    Errado. Vimos que o elif é uma estrutura de seleção equivalente a um else-if.

    ⦁ null representa o tipo para objetos nulos.

    Errado. Em Python usa-se o None para representar objetos nulos.

    ⦁ else pode ser usada opcionalmente junto ao laço while ou for.

    Correto. Na seção de Estruturas de Repetição desta aula estudamos o for-else e o while-else. O else ao final do laço introduz um bloco de instruções a ser executado 1 vez obrigatoriamente após o laço.

    Resposta: D

  • B) elif vem acompanhada de parênteses e dois pontos.

    No Python, o uso dos parênteses nas funções é facultativa. No "elif" é permitido sim parênteses, só não é obrigatório. O erro dessa alternativa foi a afirmação categórica "vem acompanhada".

    Para conferir, testem esse comando:

    >>> a = 1

    >>> if (a < 0):

    ... print("Negativo")

    ... elif (a > 0):

    ... print("Positivo")

    ...

    Positivo

  • Nunca vi usar o While e o For com o Else igual afirma a questão, não é muito comum, mas bola pra frente

  • pass tem o mesmo efeito que a palavra continue do C++.

    Vimos na parte teórica desta aula que o pass é uma palavra reservada em Python que serve para quando você define a assinatura de uma função, mas não deseja implementar o seu corpo, quer deixá-la vazia por enquanto. Não tem nada a ver com o continue. O continue no C++ tem a mesma função que o continue do Python. No meio de um laço, ele pula para a próxima iteração ignorando as instruções subsequentes dentro do bloco de repetição. Alternativa errada.

    elif vem acompanhada de parênteses e dois pontos.

    Errado. Vimos que o elif é uma estrutura de seleção equivalente a um else-if.

    null representa o tipo para objetos nulos.

    Errado. Em Python usa-se o None para representar objetos nulos.

    else pode ser usada opcionalmente junto ao laço while ou for.

    Correto. Na seção de Estruturas de Repetição desta aula estudamos o for-else e o while-else. O else ao final do laço introduz um bloco de instruções a ser executado 1 vez obrigatoriamente após o laço.

    Resposta: D

  • Hamilton Rodrigues

    ⦁ pass tem o mesmo efeito que a palavra continue do C++.

    Vimos na parte teórica desta aula que o pass é uma palavra reservada em Python que serve para quando você define a assinatura de uma função, mas não deseja implementar o seu corpo, quer deixá-la vazia por enquanto. Não tem nada a ver com o continue. O continue no C++ tem a mesma função que o continue do Python. No meio de um laço, ele pula para a próxima iteração ignorando as instruções subsequentes dentro do bloco de repetição. Alternativa errada.

    ⦁ elif vem acompanhada de parênteses e dois pontos.

    Errado. Vimos que o elif é uma estrutura de seleção equivalente a um else-if.

    ⦁ null representa o tipo para objetos nulos.

    Errado. Em Python usa-se o None para representar objetos nulos.

    ⦁ else pode ser usada opcionalmente junto ao laço while ou for.

    Correto. Na seção de Estruturas de Repetição desta aula estudamos o for-else e o while-else. O else ao final do laço introduz um bloco de instruções a ser executado 1 vez obrigatoriamente após o laço.

    Resposta: D

  • pass -> serve para quando você define a assinatura de uma função, mas não deseja implementar o seu corpo, quer deixá-la vazia por enquanto.

    Não tem nada a ver com o continue.

    O continue no C++ tem a mesma função que o continue do Python.

    No meio de um laço, ele pula para a próxima iteração ignorando as instruções subsequentes dentro do bloco de repetição.

    elif -> estrutura de seleção equivalente a um else-if.

    null -> não usado no Python

    Python usa None -> objetos nulos.

    else -> ao final do laço introduz um bloco de instruções a ser executado 1 vez obrigatoriamente após o laço.


ID
2551807
Banca
PUC-PR
Órgão
TJ-MS
Ano
2017
Provas
Disciplina
Programação
Assuntos

Dentre as seguintes funções, a que serve para converter um caractere único no seu respectivo valor inteiro em Python é

Alternativas
Comentários
  • a) [ ERRADO ] unichr ( i ) - Return the Unicode string of one character whose Unicode code is the integer i. For example, unichr ( 97 ) returns the string 'a'.

     

    b) [ ERRADO ] hex ( x ) - Convert an integer number to a lowercase hexadecimal string prefixed with “0x”.

     

    c) [ GABARITO ] ord ( c ) - Given a string representing one Unicode character, return an integer representing the Unicode code point of that character. For example, ord ( 'a' ) returns the integer 97 and ord ( '€' ) (Euro sign) returns 8364. This is the inverse of chr ( ).

     

    d) [ ERRADO ] oct ( x ) Convert an integer number to an octal string prefixed with “0o”.

     

    e) [ ERRADO ] chr ( i ) - Return the string representing a character whose Unicode code point is the integer i. For example, chr ( 97 ) returns the string 'a'.

     

    https://docs.python.org/2/library/functions.html
    https://docs.python.org/3/library/functions.html

  • Já que é tão difícil pesquisar e jogar no tradutor do google, tive que fazer esse sacríficio..

     

    a) [ERRADO] unichr (i) - Retorna a string Unicode de um caractere cujo código Unicode é o inteiro i. Por exemplo, unichr (97) retorna a string 'a'.  

    b) [ERRADO] hex (x) - Converte um número inteiro em uma cadeia hexadecimal minúscula prefixada com “0x”.  

    c) [GABARITO] ord (c) - Dada uma string representando um caractere Unicode, retorna um inteiro representando o ponto de código Unicode daquele caractere. Por exemplo, ord ('a') retorna o inteiro 97 e ord ('€') (sinal de Euro) retorna 8364. Esse é o inverso de chr ().  

    d) [ERRADO] oct (x) Converte um número inteiro em uma string octal prefixada com “0o”.  

    e) [ERRADO] chr (i) - Retorna a string representando um caractere cujo ponto de código Unicode é o inteiro i. Por exemplo, chr (97) retorna a string 'a'.

     

    Comentário em inglês é igual olho azul em gente feia... não resolve nada!!

  • Mateus sua explanação foi perfeita.

  • A função ord() devolve o código numérico do caractere passado como parâmetro. Veja os exemplos a seguir:

    In [1]:

    print(ord("8")) 

    print(ord("?")) 

    print(ord("A")) 

    print(ord("C")) 

    print(ord("^")) 

    print(ord("a")) 

    56 

    63 

    65 

    67 

    94 

    97


    A função ord() gerará um erro se passarmos como parâmetro uma string contendo mais de um caracter:

    In [2]:

    ord("olá!") 

    --------------------------------------------------------------------------- 

    TypeError Traceback (most recent call last) 

    <ipython-input-2-2e7b9727d71f> in <module>() 

    ----> 1 ord("olá!")TypeError: ord() expected a character, but string of length 4 found 


    https://www.ime.usp.br/~kellyrb/mac2166_2014/arquivos/aulas/mac2166_aula12.html

  • Assertiva C

     converter um caractere único no seu respectivo valor inteiro ord (x)

    ord ('a')

    98

    chr(98)

    'a'

    chr(ord('a') + 3)

    'd'


ID
2555740
Banca
PUC-PR
Órgão
TJ-MS
Ano
2017
Provas
Disciplina
Programação
Assuntos

Dentre as seguintes funções, a que serve para converter um caractere único no seu respectivo valor inteiro em Python é:

Alternativas
Comentários
  • Gabarito E

    ord - Given a string representing one Unicode character, return an integer representing the Unicode code point of that character. For example, ord ( 'a' ) returns the integer 97 and ord ( '€' ) (Euro sign) returns 8364. This is the inverse of chr ( ).

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • A função ord() devolve o código numérico do caractere passado como parâmetro. Veja os exemplos a seguir:


    print(ord("8")) print(ord("?")) print(ord("A")) print(ord("C")) print(ord("^")) print(ord("a")) 56 63 65 67 94 97

    A função ord() gerará um erro se passarmos como parâmetro uma string contendo mais de um caracter:

    In [2]:

    ord("olá!") --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-2-2e7b9727d71f> in <module>() ----> 1 ord("olá!") TypeError: ord() expected a character, but string of length 4 found


    https://www.ime.usp.br/~kellyrb/mac2166_2014/arquivos/aulas/mac2166_aula12.html

  • unichr (65)  = A

    hex (65) = 0x41

    oct (65) = 0101

    chr (65) = A

    ord ('A') = 65 => Resposta 

  • unichr (x)

    Esta função converte o código inteiro no caractere Unicode correspondente. Exemplo: unichr(99) = ‘c’

    hex (x)

    hex(x) converte o inteiro x no seu correspondente em representação hexadecimal. Ex.: hex(200) = 0xc8

    ord (x)

    ord(x) o inverso do unichr(x). Dado um caractere x, o ord(x) converte-o para seu código inteiro Unicode correspondente. Ex.: ord(‘c’) = 99. É a alternativa correta.

    oct (x)

    Converte um número inteiro no seu correspondente em representação octal. Ex.: oct(12) = 0o14.

    chr (x)

    Converte o código inteiro no caractere correspondente. Ex.: chr(99) = ‘c’. É muito parecida com a função unichr(x). A única diferente é que unichr faz a conversão para todos os caracteres Unicode, que é uma lista bem mais ampla que os caracteres normais. Inclui também caracteres especiais.

    Resposta: C

  • Assertiva e

     converter valor inteiro em Python é:ord (x)


ID
2676514
Banca
VUNESP
Órgão
TJM-SP
Ano
2017
Provas
Disciplina
Programação
Assuntos

Considere o seguinte código no Python 3.5:


x = range(10)


O tipo da variável “x”, após a execução do código, é

Alternativas
Comentários
  • Como a questão definiu a versão do Python (3.5), A CLASSE é do tipo RANGE, uma das novas funcionalidades da versão 3.5 em relação à versão 2.0. GABARITO LETRA D

    Se a questão mencionasse a versão 2.0  seria: classe "List"

  • d) A função range() retorna uma série numérica no intervalo enviado como argumento. A série retornada é um objeto iterável tipo range e os elementos contidos serão gerados sob demanda.

    É comum o uso da função range() com a estrutura for loop. Desta forma temos que a cada ciclo o próximo elemento da sequência será utilizado de tal forma que é possível partirmos de um ponto e ir incrementando, decrementando x unidades.

     

    c) A classe list possui as funcionalidades e propriedades primitivas e pertencentes a todas as listas.

    Todas as vezes em que formos manipular listas, a primeira opção que teremos para organizar os elementos, será a estrutura list, e inclusive, somos capazes de declarar de forma primitiva, até porque, a linguagem Python adicionou a sua sintaxe uma notação para representar listas.

  • O retorno de range(10) é um objeto da classe range que representa o intervalo [0,1,2,3,4,5,6,7,8,9]. Não é uma lista! É um range.

    Resposta: D

  • A questão na minha humilde opinião tá mal formulada, veja por que a questão tá pedindo o tipo da variável "X" ou seja Exemplo: Os tipos pode ser (Int, String, numero etc.)

  • O retorno de range(10) é um objeto da classe range que representa o intervalo [0,1,2,3,4,5,6,7,8,9]. Não é uma lista! É um range.

    Resposta: D

  • Uma função recorrentemente cobrada em concursos é a range. Range em inglês é intervalo. E a ideia é essa mesmo. Essa função serve para gerar automaticamente uma sequência de números inteiros entre um intervalo


ID
2696605
Banca
SUGEP - UFRPE
Órgão
UFRPE
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere o código Python a seguir:


vec = [i + 10 for i in range(5)]


O valor da variável vec após a execução do código é:

Alternativas
Comentários
  • O comando do amigo Flávio está errado. a função range(5) retorna [0,1,2,3,4]. Por isso, fica: 0+10, 1+10, 2+10, 3+10, 4+10.

    Letra: C

  • Gab: Letra C

     

    O examinador que criou esse algoritimo quer que cada posição dos valores de range(5) some com 10. 

     

    range(5) = [0,1,2,3,4]

     

    Quando i = 0, faça 0+10 = 10

    Quando i = 1, faça 1+10 = 11

    Quando i = 2, faça 2+10 = 12

    Quando i = 3, faça 3+10 = 13

    Quando i = 4, faça 4+10 = 14

     

    Sendo assim, o resultado será [10, 11, 12, 13, 14]

     

  • "somos fortes na linha avançada!"

  • Pelo menos uma de Phyton. Obrigado, Senhor.

  • Questão mal elaborada, sem o comando Print (vec) não acontece nada.


ID
2728726
Banca
CEPS-UFPA
Órgão
UFPA
Ano
2018
Provas
Disciplina
Programação
Assuntos

A herança múltipla é implementada na linguagem orientada a objetos chamada

Alternativas
Comentários
  • LETRA D

    Para complementar JAVA não possuia herança Múltipla, porém no Java8 foi implementado o default method e ele permite a construção de uma "certa" herança múltipla.

    fonte: https://imasters.com.br/back-end/heranca-multipla-no-java-no-java8-pode-sim

  • Gabarito letra D

     

    Python é uma linguagem de programação de alto nível, interpretada, imperativa, multiparadigma, e de tipagem forte e dinâmica. É uma linguagem que suporta a grande maioria das técnicas de programação orientada a objetos. TUDO na linguagem Python é um objeto.

     

    Fonte: Prof. Diego Carvalhos/Judah Reis Estratégia

  • "Herança é algo bem interessante, e Python, como uma linguagem completa que é também suporta herança nas classes.
    Na verdade suporta até mais que isto: Herança Múltipla !

    Para quem trabalha com Java isto não é familiar, pois o java não a suporta, porém para quem trabalha com C++ sim !"

    https://programadorlivre.wordpress.com/2010/06/24/heranca-multipla-em-python/

  • De todas as linguagens mencionadas, a única que suporta herança múltipla é Python. Essa é uma característica importante do Python. Guarde isso.

    Resposta: D

  • De todas as linguagens mencionadas, a única que suporta herança múltipla é Python. Essa é uma característica importante do Python. Guarde isso.

    Resposta: D

  • Assertiva D

    a linguagem orientada a objetos chamada Python.

  • Objetos são estruturas compostas de atributos e métodos (funções). Quando dizemos que tudo em Python são objetos estamos dizendo que tudo tem atributos e métodos e pode ser passado como uma variável ou como argumento para uma função. Tudo mesmo, incluindo os tipos primitivos, as funções e até os comentários do código. Suporta funcionalidades comuns na orientação a objetos: herança, herança múltipla, polimorfismo, reflexão e introspecção.

    Herança é quando uma classe é uma especialização da classe mãe.

    Herança múltipla é quando uma classe é filha de mais de uma classe-mãe. Isso é possível em Python.

    Polimorfismo é quando o método a ser executado depende da hierarquia de herança.

    Reflexão é quando é possível obter atributos de objetos passados como parâmetros de uma função.

    E introspecção é a possibilidade de saber o tipo de um objeto em tempo de execução.

  • De todas as linguagens mencionadas, a única que suporta herança múltipla é Python. Essa é uma característica importante do Python. Guarde isso.


ID
2740807
Banca
FGV
Órgão
MPE-AL
Ano
2018
Provas
Disciplina
Programação
Assuntos

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.

Alternativas
Comentários
  • Operação       Operador

    adição                 +

    subtração             -

    multiplicação        *

    divisão                  /

     

    exponenciação     **

    parte inteira          //

    módulo                 %

    igualdade             ==

  • Em Python,

    Exponenciação é representado pelo **

    Comparação de igualdade é representado por ==

    Módulo é representado por %

    Resposta: B

  • Exponenciação é representado por **; Comparação de Igualdade é representado por == e Módulo (Resto da Divisão) é representado por mod

    (Letra B). 

  • Exponenciação é representado pelo **

    Comparação de igualdade é representado por ==

    Módulo é representado por %

    Resposta: B

  • Diferença entre "=" e "=="

    = -> recebe um valor, exemplo: x = 5 (Toda vez que eu digitar x vai aparecer 5)

    == --> atribuição de igualdade, exemplo: 5 == 5 + 3

  • Exponenciação é representado pelo **

    Comparação de igualdade é representado por ==

    Módulo é representado por %

    Resposta: B

  • Exponenciação é representado por **; Comparação de Igualdade é representado por == e Módulo (Resto da

    Divisão) é representado por % (Letra B).

  • Letra B

    Aulinha simples em:

    https://www.inf.pucrs.br/flash/progbio/aulas/seq/build/progbio/OperatorsandOperands.html


ID
2740810
Banca
FGV
Órgão
MPE-AL
Ano
2018
Provas
Disciplina
Programação
Assuntos

Assinale a opção que indica o comando Python que produz [-2, -4].

Alternativas
Comentários
  • O comando imprimirá (print) a série (range) de -2 até o -6, usando o passo -2, ou seja, pulando de 2 em 2 de trás para frente. 

    Exemplo:

    Lista [-6, -5, -4, -3, -2, -1]

    Ao se executar o comando da alternativa E: print range(-2, -6, -2)

    O programa mostrará o segundo elemento de trás para frente (-2), depois pulará mais dois elementos e mostrará o -4, depois pulará mais dois elementos e chegará no -6. Porém, esse valor não será mostrado, pois ele delimita o elemento que não entrará na lista. 

    O resultado será a lista [-2, -4], conforme pede a questão. 

    Entendi assim, caso contrário, favor avisar.

    Valeu!!!

  • Perfeito Cochise

    "A função range()

    A função range() retorna uma série numérica no intervalo enviado como argumento. A série retornada é um objeto iterável tipo range e os elementos contidos serão gerados sob demanda.

    É comum o uso da função range() com a estrutura for loop. Desta formta temos que a cada ciclo o próximo elemento da sequência será utilizado de tal forma que é possível partirmos de um ponto e ir incrementando, decrementando x unidades.

    DEFINIÇÃO DA FUNÇÃO range()

    A seguir, temos a definição da função range() encontrada na documentação oficial do Python:

    #coding: utf-8 range( stop ) #primeira definição ou definição simplificada range( [start], stop[, step] ) #segunda definição ou definição completa

    A função range() exige a definição do último elemento da sequência numérica. Por padrão, o parâmetro start será igual a 0 e o step igual a 1."

    http://excript.com/python/funcao-range-python.html

  • O código não seria list(range(-2,-6,-2)) ?

  • Paulo Cabral, 

    Não necessariamente. Ele roda com o range, normalmente.

    for i in range(-2,-6,-2):

       print(i)

     

    Estrutura do range:

    -2: Início;

    -6: Final (não é impresso na tela);

    -2: Contador (incremento).

    Logo, a saída será -2 e -4. 

    At.te,

    Foco na missão!

  • Acho que faltou informacoes na questao, mas se for usado um looping com list() igual o Paulo Cabral citou ou for, citado pelo(a) Lopes tudo bem. Porém com o list aparece exatamente como questao: [-2,-4], olhem as execucoes abaixo:

    >>> list(range(-2,-6,-2))
         
    [-2, -4]
    >>> for i in range(-2,-6,-2):
         print(i)

         
    -2
    -4
    >>> 

  • range (início, fim, passo)

    a) print range(0, -6, 2)

    Errada. Início 0 sendo incrementado de 2 até -6 não tem como.

     

    b) print range(0, -4, -2)

    Errada. vai ser impresso: 0, -2. O range tem a seguinte particularidade: ele nunca vai imprimir o fim na tela.

     

    c) print range(-2, -4, -2)

    Errada. Impresso apenas -2

     

    d) print range(-2, -4, 2)

    Errada. -2, 0,...

  • O examinador quer que reproduzamos o intervalo [-2, -4] por meio da função range.

    O range cai muito em concurso, portanto é primordial você decorar a assinatura do método.

     

    Pelo intervalo do enunciado, o start = -2. O incremento (step) deve ser a diferença entre -2 e -4 que é -2. A sequência está decrescendo e o stop é não-inclusive. Assim, devemos fazer stop = -6 para que pare um step antes, no -4.

    Resumindo, teremos start = -2, stop = -6 e step = -2.

    Portanto, range(-2, -6, -2).

    Resposta: E

  • O range cai muito em concurso, portanto é primordial você decorar a assinatura do método.

     range([start, stop[, step])

    Pelo intervalo do enunciado, o start = -2. O incremento (step) deve ser a diferença entre -2 e -4 que é -2. A sequência está decrescendo e o stop é não-inclusive. Assim, devemos fazer stop = -6 para que pare um step antes, no -4.

    Resumindo, teremos start = -2, stop = -6 e step = -2.

    Portanto, range(-2, -6, -2).

    Resposta: E


ID
2743183
Banca
FGV
Órgão
MPE-AL
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise o código Python 2.7 a seguir


L=[10, 12, 14, 16]

for k in range(4, -5,-1):

print L[k]


Esse programa causa

Alternativas
Comentários
  • Gabarito: A

  • Falta identação na linha do print para que fique dentro do FOR


    SyntaxError: expected an indented block


    E se for executar na versão 3.6.5 precisa de () no print tb

  • GABARITO A

    obtive sucesso somente com o seguinte codigo:

    >>> L=[10, 12, 14, 16]

    >>> for a in range(3,0,-1):
         print(L[a])

         
    16
    14
    12

  • Na verdade o print está certo. Ele fala python 2.7 e não 3.6

  • O problema está no valor inicial do range (4). Como os valores tem o índice começando em 0, não há registro com índice 4. Por isso o erro: IndexError: list index out of range

    índice:

    0: 10

    1: 12

    2: 14

    3: 16

    Caso rodem na versão 2.7, não precisa colocar os parenteses no print, já na versão 3.6, precisa.

    É preciso identar o print também

  • CERTO: Erros de Sintaxe: Esses são erros de digitação ou outro erro no código que bloqueiam a execução de um script. Vamos ver um exemplo:

    $i = 0 
    echo $i; 

    O código acima produz um erro, pois todas as linhas executáveis em PHP devem terminar em ponto-e-vírgula.  São também erros sintaxe o não fechamento de parênteses ou colchetes, erro de digitação de palavras-chaves, chaves sobrando, entre vários outros. Muitas vezes, erros de sintaxe são fáceis de diagnosticar por que as mensagens de erro mostram o problema e também sua localização.

     

  • No 3.7 isso seria erro de identação. 

  • Como o Focado na missão falou, é erro de execução. A instrução range(4, -5,-1) gera a lista [4,3,2,1,0,-1,-2,-3,-4], acessar o índice 4 da lista L gera o erro de execução " IndexError: list index out of range".

  • Galera, esqueçam erro de identação, o problema é os funcionários do QC que tem má vontade e adicionam a questão de qualquer jeito sem as identações devidas.

  • é cada resposta...rsrsrs

    se contentem com o básico/simples

    é o que o Saulo Gomes falou (simples e rasteiro)

  • O erro é de identação mesmo. Pra quem quiser conferir na prova original vou deixar o link abaixo, vejam a questão 53.

    Os erros de sintaxe apontam para a linha de nosso script e, normalmente são fáceis de se corrigir.

    Além disso, corrigindo a identação teríamos um erro de execução também, "list index out of range"

    Link para a prova: http://netstorage.fgv.br/mpal/05_MPAL2018_Analista_do_Ministerio_Publico_-_Desenvolvimento_de_Sistemas_(NS04)_Tipo_1.pdf

  • Haveria erro de sintaxe e erro de execução:

    ~>Sintaxe são as regras do código-fonte, ie, pontuação correta, indentação, colocar colchetes, duas aspas nas strings, parênteses e outros.

    ~>Erro de execução: colocar um parâmetro que não retorna um valor, dividir um número por zero e outros.

    ~>O erro de sintaxe vem sempre antes do de execução

    ~>No caso em tela, há erro de sintaxe, porque depois do "for"é necessário ":", o que não ocorreu. Poderia até omitir os dois-pontos, desde que houvesse a indentação.

    ~>Também houve erro de execução, porque na função range (start, stop, step), o valor de 4 não existe no intervalo, visto que no python os índices das listas começam com zero. Então, se fosse: range (3,-3,-1), a lista retornaria L = [16,14,12] e o 10 não apareceria, porque na função range o "stop", ie, o último elemento é descartado.


ID
2743186
Banca
FGV
Órgão
MPE-AL
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise o código Python 2.7 a seguir.


def f(x):

for a in x[::-1]:

yield a

L1=[]

L2=[1,2,3,4]

for k in f(L2):

L1.append(k)

for x in L1:

print x


Esse programa causa

Alternativas
Comentários
  • O enunciado está transcrito corretamente (sem indentação). Lembrem-se de que a indentação é uma característica importante no Python.

    Reformulando a questão para fins de aprendizado.

    ----------------------------------------------------

    Analise o código Python 3 a seguir.

    def f(x):

    >>for a in x[::-1]:

     >>>>yield a

    L1 = [ ]

    L2 = [1, 2, 3, 4]

    for k in f(L2):

    >>L1.append(k)

    for x in L1:

    >>print(x)

    ----------------------------------------------------

    Nesse caso, a alternativa correta seria: "esse programa causa a exibição dos valores 4,3,2,1, nessa ordem" (A).

    def f(x):

    >>for a in x[::-1]:

     >>>>yield a

    Define a função f(x), que inverte os elementos de uma lista x. O yield funciona mais ou menos como um return, mas mantém salvo o contexto da função.

    for k in f(L2):

    >>L1.append(k)

    Armazena cada k de f(L2) numa lista vazia L1. Ou seja,

    antes L1 = [ ]

    depois L1 = [4, 3, 2, 1]

    for x in L1:

    >>print(x)

    Esse último passo exibe no shell a sequência:

    >4

    >3

    >2

    >1


ID
2743309
Banca
FGV
Órgão
MPE-AL
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise o código Python 2.7 a seguir.


L1=[ ]

L2=[1,2,3,4]

for k in range(3, -4,-1):

    L1.append(L2[k])

for x in L:

    print x


Esse programa causa

Alternativas
Comentários
  • SyntaxError: multiple statements found while compiling a single statement

  • Para dar a resposta C conforme gabarito o código deveria ser:

     

    L1=[]

    L2=[1,2,3,4]

    for k in range(3, -4,-1):

        L1.append(L2[k])

    for x in L1:

        print(x)

  • O código correto seria:

    L1=[]

    L2=[1,2,3,4]

    for k in range(3, -4,-1):

      L1.append(L2[k])

    for x in L1:

      print (x)


    Sendo o retornado pelo primeiro FOR de 3 até -4, exceto o -4, voltando de um a um (-1): L2[3]: 4, L2[2]:3, L2[1]:2, L2[0]:1, L2[-1]:4, L2[-2]:3 e L2[-3]:2


    Logo a lista L1 fica: L1[4, 3, 2, 1, 4, 3, 2]


    Portanto ao exibir os valores de L1 no segundo FOR em x a resposta é: 4, 3, 2, 1, 4, 3, 2

  • deve ter tido erro de digitação na hora de transcrever a questão.

    Traceback (most recent call last): File "teste.py", line 5, in for x in L: NameError: name 'L' is not defined

  • Acho que o erro está em nao ter declarado a variável L (for x in L:)

  • Pensei igual ao Jones Sarmento.

  • Deu isso aqui, não entendi 

     

    SyntaxError: invalid syntax

  • A resposta está correta: Letra B (erro de execução). Como Python é uma linguagem interpretada o erro de sintaxe só aparece após a execução dar errada.

  • Gabarito Letra B.

    Na prova possui a indexação.

    Ainda, a questão cita a versão 2.7 do Python. Portanto, o print não precisa de parênteses. Na execução do código ocorre o seguinte erro na execução:

    NameError: name 'L' is not defined

    Este erro é um erro de execução, ou seja, Letra B.

  • Letra B

    O erro está em não ter declarado a variável L (for x in L:), pois o código tem declarado "L1" e "L2" e não tem apenas o "L" declarado na linha de comando.

  • Tá difícil saber quando a identação está errada na prova ou no site do QC ....


ID
2743312
Banca
FGV
Órgão
MPE-AL
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise o código Python 2.7 a seguir.


class End_simples(object):

def __init__(self, rua, num, bai):

self.rua = rua

self.num = num

self.bai = bai


def Endereco(self):

return self.rua + ", " + self.num \

+ " " + self.bai


class End_com(End_simples):


def __init__(self, rua, num, bai, com):

End_simples.__init__(self,rua, num, bai)

self.com = com


def Endereco(self):

...


a = End_simples("Av Brasil", "243", \

"Floresta")

b = End_com("Av Miracema", "12", \

"Centro", "apto 3")


print(a.Endereco())

print(b.Endereco())


Sabe-se que a execução desse código produziu as duas linhas a seguir.


Av Brasil, 243 Floresta

Av Miracema, 12 Centro, apto 3


Assinale a opção que apresenta a correta definição para o método Endereco na classe End_com.

Alternativas
Comentários
  • https://www.pythonforbeginners.com/super/working-python-super-function

  • Vamos analisar a estrutura deste código Python dividindo em caixas para entender a função de cada parte.

    Inicialmente é definida a classe End_simples e dentro dela um método construtor __init__ e um método chamado Endereço. Repare que o nome da classe remete ao conceito de Endereço e os 3 parâmetros do construtor (rua, número e bairro) confirmam a referência ao mesmo conceito de endereço. O método Endereço retorna um string representativo dos atributos de endereço simples.

    Depois, é definida a classe End_com que, pelo nome, sugere o conceito de Endereço composto. Ela é uma subclasse de End_Simples. Sabemos disso pela notação End_com(End_Simples). O construtor desta classe tem em comum com a classe End_simples os atributos rua, número e bairro e além disse acrescenta um novo atributo chamado com, possivelmente um complemento do endereço. Também é criada uma função Endereço só que seu corpo não é implementado.

    Na 3a caixa maior, ele cria uma instância de End_Simples e atribui à variável a e uma instância de End_com e atribui a b. Após isso, ele imprime a saída do método Endereço() de ambas as classes.

    O enunciado diz que o seguinte é impresso nessas 2 chamadas dos métodos Endereço.

     

    Reparem que o 1o print está de acordo com a definição do método Endereço() dentro da classe End_Simples.

    O 2o print também imprime os 3 parâmetros da superclasse End_Simples da mesma forma que o método Endereco() da superclasse imprime e acrescenta o atributo exclusivo da subclasse com.

    Sabemos que, em Python, para invocar um método da classe mãe usamos a palavra reservada super. Pela saída “Av Miracema, 12 Centro, apto 3” percebe-se que é feita uma concatenação do string de saída do método Endereço() da classe mãe (End_Simples) com o atributo “com” da classe filha.

    Para isso funcionar, o método Endereco() da classe filha pode invocar o Endereco() da classe mãe com super(End_com, self).Endereco() e depois concatenar isso com “,”+self.com. O self.com indica que está se fazendo referência ao atributo com da instância corrente.

    Resposta: C

  •  return super(End_com, self).Endereco() \ + ", " + self.com 

    letra c

  • desgraça, me arrombei nessa

  • Versão antiga do Python, tem nem suporte mais. Se fosse Python 3+, seria:

    return super().Endereco() + ", " + self.com


ID
2777695
Banca
CCV-UFS
Órgão
UFS
Ano
2014
Provas
Disciplina
Programação
Assuntos

Sobre a linguagem Python, afirma-se:

I É uma linguagem com suporte à orientação a objetos e à herança múltipla.
II É uma linguagem em que a endentação (indent) faz parte da sintaxe.
III Possui uma implementação de orientação a objetos em que todos os atributos são, obrigatoriamente, privados.
IV É uma linguagem que possui tipagem estática.

Estão corretas as afirmativas

Alternativas
Comentários
  • Em python não existe atributos privados, apenas convenções de nomeação de atributos utilizando-se de " _ ".

    A tipagem do python é tida como dinâmica, isto é, não exige declaração de tipo de variável, é alterado dinamicamente.

  • I e II

  • A linguagem Python é de tipagem forte e dinâmica:

    Forte, pois não é possível realizar operações com variáveis de tipos diferentes - para tanto, é necessário realizar previamente a conversão das variáveis, de modo a deixá-las todas do mesmo tipo;

    Dinâmica, pois é possível alterar/converter o tipo da variável ao longo do código. Assim, a título de exemplo, uma variável inicialmente definida como 'int' poderá, ao longo do código, ser transformada numa variável 'string'.

  • PYTHON:

    ALTO NÍVEL

    INTERPRETADO

    MULTIPLATAFORMA

    DE SCRIPT

    ORIENTADA A OBJETOS

    FUNCIONAL

    PROCEDURAL

    FORTEMENTE TIPADA

    DINAMICAMENTE TIPADA

    MULTIPROGRAMA

    EXPANSÍVEL

    ORIENTADA A INDENTAÇÃO

    É CASE SENSITIVE


ID
2783752
Banca
FGV
Órgão
AL-RO
Ano
2018
Provas
Disciplina
Programação
Assuntos

Assinale o código Python que cria um novo arquivo, contendo uma linha.

Alternativas
Comentários
  • file = open(“testfile.txt”,”w”)  file.write(“Hello World”)   file.close() 

    https://www.pythonforbeginners.com/files/reading-and-writing-files-in-python

  • https://pt.stackoverflow.com/questions/133448/criar-o-arquivo-txt-em-python-caso-ele-n%C3%A3o-exista

  • já de cara a letra "B" não poderia ser pois em python não se usa "new" para criar objetos;

  • Para abrir um arquivo para gravação ou uso em Python, você deve confiar na função interna open () .

    A sintaxe para abrir um objeto de arquivo no Python é:

    f = open(“teste.txt”, “w”) // onde f é a variável para adicionar o arquivo objeto.

    O segundo argumento que você vê - w - diz ao intérprete e desenvolvedor de que maneira o arquivo será usado.

     

    file.write(“Linha de teste\n”) // manipular o arquivo.

     

    f.close () // Quando você terminar de trabalhar, poderá usar o comando f.close () para finalizar as coisas

  • A forma correta de criar o arquivo é por meio da função open(“teste.txt”,”w”). 

    “teste.txt” é o nome do arquivo que será criado. O argumento “w” significa que o arquivo será aberto para escrita (writing). Se o arquivo “teste.txt” já existir no diretório corrente, ele será apagado e sobrescrito. Se não, será criado vazio pronto para escrita.

    O f.write(“Linha de teste\n”) escreve 1 linha no arquivo com o texto “Linha de teste\n”. O “\n” no final significa pulo de linha.

    Resposta: A

  • A forma correta de criar o arquivo é por meio da função open(“teste.txt”,”w”).

    “teste.txt” é o nome do arquivo que será criado. O argumento “w” significa que o arquivo será aberto para escrita (writing). Se o arquivo “teste.txt” já existir no diretório corrente, ele será apagado e sobrescrito. Se não, será criado vazio pronto para escrita.

    O f.write(“Linha de teste\n”) escreve 1 linha no arquivo com o texto “Linha de teste\n”. O “\n” no final significa pulo de linha.

    Resposta: A

  • A forma correta de criar o arquivo é por meio da função open(“teste.txt”,”w”).

    “teste.txt” é o nome do arquivo que será criado.

    O argumento “w” significa que o arquivo será aberto para escrita (writing).

    Se o arquivo “teste.txt” já existir no diretório corrente, ele será apagado e sobrescrito.

    Se não, será criado vazio pronto para escrita.

    O f.write(“Linha de teste\n”) escreve 1 linha no arquivo com o texto “Linha de teste\n”.

    O “\n” no final significa pulo de linha.


ID
2783989
Banca
FGV
Órgão
AL-RO
Ano
2018
Provas
Disciplina
Programação
Assuntos

Assinale a opção que apresenta a lista que contém apenas as linguagens de programação que são primordialmente interpretadas em suas respectivas implementações.

Alternativas
Comentários
  • Nas linguagem interpretadas como PERL, PYTHON e PHP - o programa não precisa se compilado previamente, tornando mais simples seu desenvolvimento e modificação. 

     

    Fonte: Curso Linux Essentials: Curso Linux Essentials - Luciano Antonio Siqueira

  • Sabendo que a linguagem C ( e suas 'derivadas'  C+, C#...) é compilada daria para matar a questão, visto que só  nos resta a alternativa A como opção.


ID
2783995
Banca
FGV
Órgão
AL-RO
Ano
2018
Provas
Disciplina
Programação
Assuntos

A execução do código Python a seguir termina com sucesso, mostrando a lista de números dispostos em ordem crescente corretamente.

def bubbleSort(numeros):
trocas = 0
trocou = True
while trocou:
trocou = False
for i in range(0,len(numeros)-1):
trocas += 1
if numeros[i] > numeros[i+1]:
numeros[i],numeros[i+1] \
= numeros[i+1],numeros[i]
trocou = True
return trocas

numeros = [17, 20, 26, 31, 44, 55, 77, 94, 93]
print bubbleSort(numeros)
print números

Assinale a opção que indica o valor exibido pelo primeiro comando print.

Alternativas
Comentários
  •  

    Observe  o retorno da função bubbleSort, essa função retornará o valor da variável trocas

    A linha for i in rang/e(0,len(numeros)-1): é igual ao rang/e(0,8)  ou seja, 0,1,2,3,4,5,6,7

                                                                                                  Com isso a variável trocas ao final valerá 8

    Observe que o if somente será verdadeiro se o 1º valor for maior que o 2º.

    Observe agora que QUASE todos os valores irá retornar FALSO para a execução do IF, pois o 1º valor será menor que o 2ª valor, EXCETO!!! pelos dois últimos valores...

     94 > 93 ? TRUE

     a troca interna dentro do IF será executada, e a variável TROCOU será marcada como TRUE.

    O COMANDO WHILE SERÁ EXECUTADO NOVAMENTE e com isso...

    A linha do for  SERÁ EXECUTAVA NOVAMENTE portanto ran/ge(0,8)  ou seja, 0,1,2,3,4,5,6,7

                                                                                                  Como variável  trocas já possui o valor 8, no final ela valerá 16 (8+8)

     Como não existe mais valores que satisfaçam o IF.

    print bubbleSort(numeros) irá imprimir o valor da variável trocas, ou seja, valor 16.

     

    GABARITO ALTERNATIVA D

  • Galera, já vimos o funcionamento do algoritmo Bubble Sort anteriormente na aula de Lógica de Programação. O objetivo desse algoritmo é ordenar uma sequência de números desordenada. O código do enunciado implementa esse algoritmo corretamente em linguagem Python.

    Mas para matar a questão, temos que nos atentar aos detalhes.

    A função bubbleSort ordena corretamente a lista numeros recebido como argumento. O problema é a variável trocas. Apesar do nome, ela não reflete o número efetivo de trocas realizado pelo Bubble Sort. Se fosse o número de trocas do Bubble Sort seria 1, somente a troca do 94 pelo 93 para a lista numeros ficar ordenada.

    Pelo código que está escrito, a variável trocas ao final da execução armazenará um outro valor. Vamos lá, passo a passo.

    No início, trocou = True, então ele entra a 1a vez no while.

    O range do for é [0, 1, 2, 3, 4, 5, 6, 7]. Como o incremento do trocas ocorre dentro desse for, trocas será incrementado 8 vezes ficando trocas = 8 após as 8 repetições do 1o for. O if dá verdadeiro 1 vez somente, quando chega no 94 que é menor que o elemento subsequente 93. É realizada a troca de 94 por 93 e a variável trocou é modificada para True.

    Como trocou = True, entra a 2a vez no while. Nesta passagem, o range do for é o mesmo que na passagem anterior. Então a variável trocas será incrementada 8 vezes de novo. Como o valor anterior de trocas era 8, após os 8 novos incrementos vai a 16. Após isso, não ocorre mais troca, trocou = False e a função é finalizada.

    Portanto, a função bubbleSort retornará o valor final de trocas = 16.

    Resposta: D

  • tentei rodar esse código adaptando ,mas nenhum jeito retornou 16

  • A linguagem Python não tem vírgulas logo a não indentação/organização do código dificulta ainda mais uma analise. Segue pessoal:

    def bubbleSort(numeros):

      trocas = 0

      trocou = True

      while trocou:

         trocou = False

         for i in range(0,len(numeros)-1):

          trocas += 1

          if numeros[i] > numeros[i+1]:

           numeros[i],numeros[i+1] \

                 = numeros[i+1],numeros[i]

           trocou = True

     return trocas

     

    numeros = [17, 20, 26, 31, 44, 55, 77, 94, 93]

    print bubbleSort(numeros)

    print números


ID
2786644
Banca
FGV
Órgão
AL-RO
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere a aplicação do algoritmo de busca binária sobre um conjunto de chaves distintas.


Assinale a declaração Python que define uma lista L sobre a qual esse algoritmo não pode ser aplicado diretamente.

Alternativas
Comentários
  • Resposta : E

    Para a aplicação da Busca Binária a lista deve estar ordenada, A lista  L=[“MARIA”, “MARIO”, “MARINA”] ,  NÃO estã ordenada.

  • Pessoal, vimos na aula de Lógica de Programação que, para o algoritmo de busca binária funcionar, a lista a ser buscada deve estar previamente ordenada.

    As listas das alternativas (a) e (b) estão ordenadas na ordem numérica crescente. Correto.

    A lista (c) está ordenada na ordem alfabética crescente. Correto.

    A lista (d) está na ordem numérica decrescente. Correto.

    A única que está desordenada é a alternativa (e).

    Resposta: E

  • Pessoal, vimos na aula de Lógica de Programação que, para o algoritmo de busca binária funcionar, a lista a ser buscada deve estar previamente ordenada.

    As listas das alternativas (a) e (b) estão ordenadas na ordem numérica crescente. Correto.

    A lista (c) está ordenada na ordem alfabética crescente. Correto.

    A lista (d) está na ordem numérica decrescente. Correto.

    A única que está desordenada é a alternativa (e).

    Resposta: E

  • A diferença da letra C para E seria a ordem alfabética?

    Alguém sabe responder???

    Letra C

    “MARIA” - 1ª letra do alfabeto

    “MARINA” - 14ª letra do alfabeto

    “MARIO” - 15ª letra do alfabeto

    Letra E

    “MARIA

    “MARIO

    “MARINA”

  • Gabarito: E

    Ao que tudo parece a questão está errada pela ordem alfabética dos nomes [“MARIA”, “MARIO”, “MARINA”], que deveria ser [“MARIA”, “MARINA”, “MARIO”].

    Características da lista=

    - Mutável

    - Indexável

    - Ordenada

    - Pode conter valores duplicados

    - Representadas por [ ]

  • Em Lógica de Programação aprende-se que, para o algoritmo de busca binária funcionar, a lista a ser buscada deve estar previamente ordenada.

    As listas das alternativas (a) e (b) estão ordenadas na ordem numérica crescente. Correto.

    A lista (c) está ordenada na ordem alfabética crescente. Correto.

    A lista (d) está na ordem numérica decrescente. Correto.

    A única que está desordenada é a alternativa (e).


ID
2786653
Banca
FGV
Órgão
AL-RO
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise o código Python a seguir. 


L = [1]

while len (L) < 6:

       L . append ( L [ -1 ] * len (L) )

print L  


Assinale o que acontece com esse código quando o comando Run Module (F5) é acionado na interface IDLE (Python GUI).  

Alternativas
Comentários
  • L=[1]

    while len(L) < 6:                          # a funcao len() retorna o numero de itens em um objeto

           L.append(L[-1]*len(L))

    """ o metodo append() acrescenta elementos no fim da lista e o L[-1] esta fazendo referencia ao ultimo elemento, que multiplicado por len(L) vai ter a sequencia de:

    L.append(1*1)  primeiro luping igual a 1;

    L.append(1*2)  primeiro luping igual a 2;

    L.append(2*3)  primeiro luping igual a 6;

    L.append(6*4)  primeiro luping igual a 24;

    L.append(24*5)  primeiro luping igual a 120. """

    print L

  • Porém a linguagem python exige identação. Portanto, ou o site cadastrou mal o exemplo do código ou o gabarito está errado.

  • Segundo o Gabarito da Banca, a resposta é a letra E (erro de execução).

    Pensei que fosse letra D, uma vez que o erro ocorre antes mesmo da execução do programa.

  • Galerinha, lembrem-se que a função len(L) retorna o tamanho da lista L, que L[-1] referencia o último elemento da lista e que L.append(x) insere um novo elemento x no final da lista L.

    No início, L = [1]. Logo, len(L) = 1.

    Ele chega no while e faz o teste. len(L) < 6 ? Verdadeiro porque len(L) = 1.

    Então entra na 1a iteração do while.

    Na 1a iteração é feito L.append(L[-1]*len(L)) = L.append(1 * 1) = L.append(1) = [1, 1].

    Na 2a iteração é feito L.append(L[-1]*len(L)) = L.append(1 * 2) = L.append(2) = [1, 1, 2].

    Na 3a iteração é feito L.append(L[-1]*len(L)) = L.append(2 * 3) = L.append(6) = [1, 1, 2, 6].

    Na 4a iteração é feito L.append(L[-1]*len(L)) = L.append(6 * 4) = L.append(24) = [1, 1, 2, 6, 24].

    Na 5a iteração é feito L.append(L[-1]*len(L)) = L.append(24 * 5) = L.append(120) = [1, 1, 2, 6, 24, 120].

    A 6a iteração do while não ocorre porque a essa altura len(L) < 6 deixa de ser verdade pois len(L) = 6. E a nossa lista L mutável ao final será [1, 1, 2, 6, 24, 120].

    Resposta: C

  • Que gabarito é esse? O corre é a letra E. Tentem rodar esse código...

    O print precisar dos () para funcionar. Assim: print(L)

  • Galerinha, lembrem-se que a função len(L) retorna o tamanho da lista L, que L[-1] referencia o último elemento da lista e que L.append(x) insere um novo elemento x no final da lista L.

    No início, L = [1]. Logo, len(L) = 1.

    Ele chega no while e faz o teste. len(L) < 6 ? Verdadeiro porque len(L) = 1.

    Então entra na 1ª iteração do while.

    Na 1ª iteração é feito L.append(L[-1]*len(L)) = L.append(1 * 1) = L.append(1) = [1, 1].

    Na 2ª iteração é feito L.append(L[-1]*len(L)) = L.append(1 * 2) = L.append(2) = [1, 1, 2].

    Na 3ª iteração é feito L.append(L[-1]*len(L)) = L.append(2 * 3) = L.append(6) = [1, 1, 2, 6].

    Na 4ª iteração é feito L.append(L[-1]*len(L)) = L.append(6 * 4) = L.append(24) = [1, 1, 2, 6, 24].

    Na 5ª iteração é feito L.append(L[-1]*len(L)) = L.append(24 * 5) = L.append(120) = [1, 1, 2, 6, 24, 120].

    A 6ª iteração do while não ocorre porque a essa altura len(L) < 6 deixa de ser verdade pois len(L) = 6. E a nossa lista L mutável ao final será [1, 1, 2, 6, 24, 120].

    Resposta: C

  • O comando "print L" só seria executado caso o interpretador fosse python 2. Em python 3 vai haver erro de execução, pq requer o parênteses. Ao meu ver deveria ser anulada, pois há duas respostas possiveis, letra C e E.

  • Ao executar o algoritmo a saída apresentada é essa:

    [1, 1]

    [1, 1, 2]

    [1, 1, 2, 6]

    [1, 1, 2, 6, 24]

    [1, 1, 2, 6, 24, 120]

    Em cada append (adicionar um termo ao vetor), o valor final é multiplicado pelo tamanho (len) atual do vetor, e depois impresso, repetindo isso enquanto o tamanho do vetor for menor que 6.

    1ª loop = append (1*1) = 1

    2ª loop = appen (1*2) = 2

    3ª loop = append (2*3) = 6

    4ª loop = append (6*4) = 24

    5ª loop = append (24*5) = 120

    Vetor atingiu o tamanho de 6, fim do while

  • Discordo do gabarito, pois no final devia estar print (L) , pois com o L sem os parenteses dá erro na execução.

  • A função len(L) retorna o tamanho da lista L, que L[-1] referencia o último elemento da lista e que L.append(x) insere um novo elemento x no final da lista L.

    No início, L = [1].

    Logo, len(L) = 1.

    Ele chega no while e faz o teste. len(L) < 6 ? Verdadeiro porque len(L) = 1.

    Então entra na 1ª iteração do while.

    Na 1ª iteração é feito L.append(L[-1]*len(L)) = L.append(1 * 1) = L.append(1) = [1, 1].

    Na 2ª iteração é feito L.append(L[-1]*len(L)) = L.append(1 * 2) = L.append(2) = [1, 1, 2].

    Na 3ª iteração é feito L.append(L[-1]*len(L)) = L.append(2 * 3) = L.append(6) = [1, 1, 2, 6].

    Na 4ª iteração é feito L.append(L[-1]*len(L)) = L.append(6 * 4) = L.append(24) = [1, 1, 2, 6, 24].

    Na 5ª iteração é feito L.append(L[-1]*len(L)) = L.append(24 * 5) = L.append(120) = [1, 1, 2, 6, 24, 120].

    A 6ª iteração do while não ocorre porque a essa altura len(L) < 6 deixa de ser verdade pois len(L) = 6. E a nossa lista L mutável ao final será [1, 1, 2, 6, 24, 120].


ID
2798602
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2018
Provas
Disciplina
Programação
Assuntos

Com relação à programação Python e R, julgue o item que segue.


Considere os seguintes comandos na programação em Python.


a = " Hello, World! "

print(a.strip())


Esses comandos, quando executados, apresentarão o resultado a seguir.


a[0]=Hello,

a[1]=World!

Alternativas
Comentários
  • Testem o codigo
    https://www.onlinegdb.com/online_python_interpreter
     

  • A função  .strip() em python é equivalente a função trim do PHP e javascript.

    a = " Hello, World! "   #Observe que há espaço em branco no inicio e no fim

    print(a.strip())               #Irá imprimir Hello, World , sem espaços em brancos no inicio e no final do string.

     

    .lstrip()  Remove caracteres a esquerda(left)

    .rstrip()  Remove caracteres a direita (right)

  • O método ".strip()" retira os espaços no início e no final da string (default). Pode-se passar algum argumento para a função retirar o carácter especificado.

    O método referido na questão foi o ".split()" que fraciona uma frase em um vetor de palavras (por padrão, separa as palavras a cada espaço em branco).

  • strip() remove espaços em branco de toda a string

  • Errado

    .a="hello, world!"
    >>> print(a.strip())
    hello, world!

    Foco e Fé!!!

  • Errado

    O comando correspondente a questão seria: print(a.splip())

  • A função strip elimina os espaços no início e fim do string. Fazer a.strip() daria como saída o string “Hello, World!”.

    É muito importante você gravar que, em Python, o string é imutável. Se, após fazer o strip, você chamar a[0] o string a é o string original da linha 1, antes do strip. Portanto a[0] retornará o 1o caractere do a que é um espaço a[0] = ‘ ‘. E a(1) = ‘H’.

    Resposta: Errado

  • GABARITO: ERRADO

    Putaria didática para não confundir a função strip() com split().

    strip --> "strip-tease" (tira a roupa)

    Função strip(): Tira os espaços em branco do início e do fim da string.

    x = “ Olá, Mundo! ”

    print(x.strip())

    #retorna “Olá, Mundo!”

  • Sempre uso o strip-tease para lembrar da função strip rs

    strip tease-> Remove a roupa

    strip() -> Remove os espaços em branco do início e do fim da string.

    Agora uma explicação mais técnica hehe

    A função strip() é responsável por remover espaços no início e no fim de uma string, portanto o resultado esperado será: “Hello, World!” – sem os espaços iniciais e finais.

    Gabarito: Errado

  • A função strip elimina os espaços no início e fim do string. Fazer a.strip() daria como saída o string “Hello, World!”.

    É muito importante você gravar que, em Python, o string é imutável. Se, após fazer o strip, você chamar a[0] o string a é o string original da linha 1, antes do strip. Portanto a[0] retornará o 1º caractere do a que é um espaço a[0] = ‘ ‘. E a(1) = ‘H’.

    Resposta: Errado

  • Gabarito: Errado.

    Como dito pelos colegas, a função strip() é utilizada para remover espaços em branco de strings. Existem três formas:

    Caso o usuário queira remover todos os espaços em brancos (antes e depois do string): str.strip()

    Caso o usuário queira remover os espaços em brancos à esquerda do string: str.lstrip ()

    Caso o usuário queira remover os espaços em branco à direita do string: str.rstrip()

    Sobre o comentário do colega Rumo a ANP: está equivocado.

    Não existe a função splip no python. Outrossim, como os colegas sugeriram em resposta, o comando split() - que pode ter sido o que ele quis digitar - também não retornaria o que o examinador propôs.

    O comando split vai retornar uma lista de strings. Se ele fosse aplicado a essa questão:

    >>> a="Hello World!"

    >>> print(a.split())

    >>>a[0]

    'H'

    >>>a[1]

    'e'

    Espero ter ajudado.

    Qualquer equívoco, mandem mensagem.

    Bons estudos!

  • E A INDENTAÇÃO ?

  • Não precisaria nem saber qual a função do comando strip, basta saber que a variável é uma string e o resultado apresentado mostra como se fosse uma lista e seus respectivos índices, o que não é verdade porque a variável está entre aspas e não entre colchetes.

  • ninguém comentou o fato de

    a[0]=Hello,

    a[1]=world!

    está sem as aspas.

    o certo séria

    a[0]="Hello,"

    a[1]="world!"

    estou enganado?

  • Gabarito: ERRADO

    O método strip retorna uma cópia da string removendo os espaços em branco que estiverem no início ou no fim da string [1].

    Assim, o código apresentado pelo item retornará "Hello, World!" (sem os espaços).

    Para "quebrar" uma string em partes utiliza-se o método split que por padrão divide uma string utilizando o espaço em branco como caractere separado [2]. Assim, ao digitar a.split(), será retornado a seguinte lista ['Hello,', 'Wordl!'].

  • A função strip elimina os espaços no início e fim do string. Fazer a.strip() daria como saída o string “Hello, World!”.

    É muito importante você gravar que, em Python, o string é imutável. Se, após fazer o strip, você chamar a[0] o string a é o string original da linha 1, antes do strip. Portanto a[0] retornará o 1o caractere do a que é um espaço a[0] = ‘ ‘. E a(1) = ‘H’.

    Prof. Hamilton Rodrigues

    ...................................................................................................................................................................................................

    Site para rodar python: https://repl.it/languages/python3

  • Marquei errado por faltar a Indentação. Nunca ouvi falar desses "strings" que o povo comentou ai. Não entendi. Alguém poderia explicar melhor? Obrigada

  • Parabéns para aqueles que consegue comentar esse tipo de questão kkkkk, deuszulivre é branca na certa se essa cai na minha prova esse ano.

  • https://www.python.org/downloads/

    TREINEM!

  • A maldita questão trocou o conceito de Split() por Strip()

    Método split()

    Separa uma string conforme um delimitador.

    É o inverso do join().

    s = 'n o m e'

    s.split()   # ['n', 'o', 'm', 'e']

    s.split(" ")  # ['n', 'o', 'm', 'e']

    s.split("")  # ValueError: empty separator

    Método strip()

    Retira espaços em branco no começo e no fim

    " sobrando espaços ".strip()   # 'sobrando espaços'

    " sobrando espaços  ".strip()  # 'sobrando espaços'

  • baixem no python . org e treinem , ira fazer toda a diferença !

  • Em meus testes os resultados ficaram desse jeito:

    a = " hello, world "

    print(a.strip())

    resultado:

    hello, world

    a = " hello, world "

    print(a.split())

    resultado:

    ['hello,', 'world']

    Obs: quando tentei com indentação deu erro...

  • Por que nesse caso o "print" não recebe o espaçamento na esquerda?

  • >>> a = " Hello, World! "

    print(a.strip())

    >>> 

    >>> 

    == RESTART: C:/Users/CLIENTE/AppData/Local/Programs/Python/Python39/aula 1.py ==

    Hello, World!

  • Alguns comandos que podem ajudar:

    capitalize() : Converte o primeiro caractere em maiúscula

    ex: x = "olá, mundo!"

    print(x.capitalize()) #retorna "Olá, mundo!

    find() : Retorna a posição da primeira ocorrência de um um valor em uma string ou -1 se não existir. ex: x = "Uma vez Flamengo, sempre Flamengo!"

    print(x.find("vez")) #retorna 4

    index() : Semelhante ao find(), mas retorna uma exceção caso o valor não exista.

    ex: x = "Uma vez Flamengo, sempre Flamengo!"

    print(x.index("vasco")) #retorna ValueError

    len() : Retorna o tamanho da string.

    ex: x = "Uma vez Flamengo, sempre Flamengo!"

    print(len("x")) #retorna 34

    split() : Divide substrings encontradas a partir de um separador especificado e retorna uma lista.

    ex: x = "Olá, Mundo!"

    print(x.split()) #retorna ['Olá' , 'Mundo!']

    strip() : Remove os espaços em branco do início e do fim da string.

    ex: x = " Olá, Mundo! "

    print(x.strip()) #retorna ''Olá', 'Mundo!''

    Fonte: Estratégia - Prof: Diego Carvalho

  • O que ta errado na questão é que ele troca o print(a.split()) por o print(a.strip()), se fosse print(a.split()) estaria correto.

  • Faltou a indentação (no print) também ou estou enganado?

    a = " Hello, World! "

    ____ print(a.strip())

    Valeu!!!

  • Gabarito: errado.

    O enunciado mostra o resultado de um .split(), e não de um .strip().

    Mnemônico para nós:

    STrip: T de "Tirar" os espaços das extremidades;

    SPlit: P de "Partir" as palavras onde tem espaços. Ou seja, divide-se em listas.

    O nosso esforço de hoje já nos tornam melhores que ontem. #keepgoing

  • Pra quem não entendeu esse lance de identação, vou dar um exemplo top pra entenderem kkkkkk..

    Não é tudo que precisa de identação.. No caso da questão, o print não faz parte de um bloco, portanto, não precisa de identação.. ou seja, sem identação é a mesma coisa que eu dizer que ele vai ocorrer independente de qualquer condição

    Vamos viajar um pouco pra você entender...

    Você está sendo programado por alguém. Se o cara que está programando você quer que você faça questão, então ele não pode simplesmente ir lá e colocar o comando "questão" sem identação.. Por quê? Porque pra fazer questão eu tenho de estar estudando, certo? Então o comando "questão" tem de estar dentro de um bloco do comando chamado "estudo"

    Ficaria assim: (Considere os ">" como espaço vazio, minha identação)

    (Estudo):

    >>>> (Questão)

    (Comer)

    (Dormir)

    Perceba que o comando (questão) por estar identado, só será realizado se ele satisfazer uma condição do bloco que ele pertence.. Agora perceba também, que o comando comer e dormir não está identado.. ou seja, você irá realizar eles independente de alguma coisa.. nada precisa ser satisfeito, é um comando automático.. se eu estudar ou não, eu irei comer e dormir de qualquer jeito.

    Trazendo em códigos para o python, seria a ideia do if (traduzindo significa "se")

    a = ("Se estudo ")

    b = ("Então faço questão")

    if a == a:

    >>>> print (a+b)

    else:

    >>>> print ("Mentira")

    Executando sairia: Se estudo então faço questão

    Traduzindo o código: Estou dizendo Se A é igual à A, então print a+b

    Mas se não for (else), print "mentira"

    Perceba que ele não imprimiu "mentira".. pq a condição para ele imprimir mentira não foi satisfeita..

  • Alguns comandos que podem ajudar:

    capitalize() : Converte o primeiro caractere em maiúscula

    ex: x = "olá, mundo!"

    print(x.capitalize()) #retorna "Olá, mundo!

    find() : Retorna a posição da primeira ocorrência de um um valor em uma string ou -1 se não existir. ex: x = "Uma vez Flamengo, sempre Flamengo!"

    print(x.find("vez")) #retorna 4

    index() : Semelhante ao find(), mas retorna uma exceção caso o valor não exista.

    ex: x = "Uma vez Flamengo, sempre Flamengo!"

    print(x.index("vasco")) #retorna ValueError

    len() : Retorna o tamanho da string.

    ex: x = "Uma vez Flamengo, sempre Flamengo!"

    print(len("x")) #retorna 34

    split() : Divide substrings encontradas a partir de um separador especificado e retorna uma lista.

    ex: x = "Olá, Mundo!"

    print(x.split()) #retorna ['Olá' , 'Mundo!']

    strip() : Remove os espaços em branco do início e do fim da string.

    ex: x = " Olá, Mundo! "

    print(x.strip()) #retorna ''Olá', 'Mundo!''

    Fonte: Estratégia - Prof: Diego Carvalho

    comentário do Diego que quero guardar

  • txt = "   banana   "

    x = txt.strip()

    print(x)

    tela: banana(sem espaços)

    txt = "   banana   "

    x = txt

    print(x)

    tela:   banana   (com espaços)

    *******************

    txt = "welcome to the jungle"

    x = txt.split()

    print(x)

    tela: ['welcome', 'to', 'the', 'jungle']

  • a.strip é para retirar espaços da palavra.

  • Em Python o método "strip()" aplicado a um texto remove os espaços em branco no início e no fim desse texto.

    Perceba que no texto " Hello, World! " há um espaço em branco no início e outro no final do texto.

    Esse método irá remover esses espaços em branco do valor armazenado na variável “a” e a função “print” irá mostrar esse texto em tela sem os espaços em branco no início e no fim.

    Aprofundando..

    O método que converte uma string (texto), a partir de um caractere separador escolhido (vírgula), em uma lista é o “split”, conforme exemplo abaixo:

    a = " Hello, World! "

    print(a.split(','))

    Resultado em tela:

    [' Hello', ' World! ']

    Portanto, item INCORRETO.

  • A função strip elimina os espaços no início e fim do string.

    Fazer a.strip() daria como saída o string “Hello, World!”.

    É muito importante você gravar que, em Python, o string é imutável.

    Se, após fazer o strip, você chamar a[0] o string a é o string original da linha 1, antes do strip.

    Portanto a[0] retornará o 1º caractere do a que é um espaço a[0] = ‘ ‘. E a(1) = ‘H’.

    Resposta: Errado


ID
2799979
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2018
Provas
Disciplina
Programação
Assuntos

Julgue o próximo item, relativo a noções de programação Python e R.


Considere o programa a seguir, escrito em R.


x <- c (3, 5, 7)

y <- c (1, 9, 11)

print (x + y)


Após a execução do programa, será obtido o seguinte resultado.

[1] 36

Alternativas
Comentários
  • Vai imprimir a soma de cada coluna das matrizes
    [1] 4 14 18

  • > x <- c (3, 5, 7)

    > y <- c (1, 9, 11)

    > print (x + y)

    [1] 4 14 18

  • de onde saiu esse [1]?

  • Olá Bruna,

    O [1] que aparece "na frente" do resultado ( 4 14 18 ) é o índice do primeiro elemento impresso em cada linha do código (isso é uma regra da Linguagem de programação R).

  • Observe que o R trabalha com vetores, e dentro desse vetor existe 3 argumentos. Ele somou o primeiro termo com primeiro termo e assim por diante.

    x <- c (3, 5, 7)

    y <- c (1, 9, 11)

    print (x + y)

    O resultado correto seria:

    [1] 4 14 18

    e não

    [1] 36

    O [1] se refere a linha. se o resultado tivesse 3 linhas por exemplo ficaria da seguinte forma :

    [1] ''A''

    [2] ''B''

    [3] ''C''

  • Na 1a linha, ele cria um vetor por meio da função c (de concatenação) e armazena o vetor na variável x que fica com o conteúdo [ 3 , 5 , 7 ].

    Na 2a linha, ele cria um vetor por meio da função c (de concatenação) e armazena o vetor na variável y que fica com o conteúdo [ 1 , 9 , 11 ].

    Na 3a linha, ele “printa” (imprime no console) o resultado da operação x + y. Neste momento, temos que entender bem que operação é essa de adição entre x e y. Como x e y são vetores, será uma soma vetorizada.

    x + y = [ 3 , 5 , 7 ] + [ 1 , 9 , 11 ] = [ 3+1 , 5+9 , 7+11] = [ 4 , 14 , 18]

    É esse resultado que será impresso no console e não 36, como afirma o Cespe nesta questão. Portanto, gabarito afirmativa Falsa!

    Resposta: Falso

  • Gabarito: Errado.

    Não há como o somatório de dois vetores no R3 resultar em um vetor R1.

    Bons estudos.

  • o comando print não deveria vir assim :

    print(paste("x+y"))

    ??

  • Python -> Vai ocorrer a concatenação das duas listas!

    R -> vai somar as colunas: (4, 14, 18)

  • Esse [1] não entendi .......

  • Na 1ª linha, ele cria um vetor por meio da função c (de concatenação) e armazena o vetor na variável x que fica com o conteúdo [ 3 , 5 , 7 ].

    Na 2ª linha, ele cria um vetor por meio da função c (de concatenação) e armazena o vetor na variável y que fica com o conteúdo [ 1 , 9 , 11 ].

    Na 3ª linha, ele “printa” (imprime no console) o resultado da operação x + y. Neste momento, temos que entender bem que operação é essa de adição entre x e y. Como x e y são vetores, será uma soma vetorizada.

    x + y = [ 3 , 5 , 7 ] + [ 1 , 9 , 11 ] = [ 3+1 , 5+9 , 7+11] = [ 4 , 14 , 18]

    É esse resultado que será impresso no console e não 36, como afirma o Cespe nesta questão. Portanto, gabarito afirmativa Falsa!

    Resposta: Falso

  • A soma de cada coluna

    [1] 4, 14, 18

  • Como já apontado pelos colegas, vai ocorrer a soma de cada coluna, resultando em:

    [1] 4 14 18

    Para retornar o valor sugerido pela questão, deveria ser utilizada a função sum(x,y).

  • Prezados,

    Em R, utilizamos o "<-" para fazer atribuição, e o "c" serve para especificar um vetor.

    Exemplo:

    vetor1 <- c(1,2,3,4)

    Com isso, atribuímos a variável vetor1 um vetor de 4 elementos com os valores 1, 2, 3 e 4.

    O R permite operação com vetores, exemplo:

    vetor1 * vetor1 retornaria :

    #1 4 9 16

    Desta forma,  ao somarmos os vetores x e y, o resultado seria 4, 14, 18.

    Portanto a questão está errada.


    Gabarito do Professor: ERRADO.
  • Hamilton Rodrigues | Direção Concursos

    Na 1a linha, ele cria um vetor por meio da função c (de concatenação) e armazena o vetor na variável x que fica com o conteúdo [ 3 , 5 , 7 ].

    Na 2a linha, ele cria um vetor por meio da função c (de concatenação) e armazena o vetor na variável y que fica com o conteúdo [ 1 , 9 , 11 ].

    Na 3a linha, ele “printa” (imprime no console) o resultado da operação x + y. Neste momento, temos que entender bem que operação é essa de adição entre x e y. Como x e y são vetores, será uma soma vetorizada.

    x + y = [ 3 , 5 , 7 ] + [ 1 , 9 , 11 ] = [ 3+1 , 5+9 , 7+11] = [ 4 , 14 , 18]

    É esse resultado que será impresso no console e não 36, como afirma o Cespe nesta questão. Portanto, gabarito afirmativa Falsa!

  • x num [1:3] 3 5 7

    x num [1:3]1 9 11

    = 4 14 18

  • soma-se na vertical

  • Executando:

    x<- c (3,5,7)

    y<- c (1,9,11)

    print (x+y)

    [1] 4 14 18 <<<< SAÍDA DO COMANDO

    Gabarito errado!

  • variavel X

    variavel y

    cara uma recebe um vetor de 3 posições (imaginae uma fila de banco, com 3 lugares apenas), com 3 valores...

    apresenta no final o resultado da soma de cada posição, primeira, segunda e terceira posição.

  • Vai imprimir a soma dos vetores:

    3+1=4

    5+9=14

    7+11=18

    [1] 1 14 18

    GAB: E

  • A primeira linha do código atribui um vetor com três elementos c(3, 5, 7) ao objeto x

    A segunda linha do código atribui um vetor com três elementos c(1, 9, 11) ao objeto y

    A terceira linha faz uma soma dos elementos dos vetores armazenados nos objetos x e y, elemento a elemento (x + y) e por fim a função print mostra o resultado em tela.

    Vejamos:

    Primeiro elemento (a + b) = 3 + 1 à 4

    Segundo elemento (a + b) = 5 + 9 à 14

    Terceiro elemento (a + b) = 7 + 11 à 18

    Resultado em tela:

    [1] 4 14 18

    O código abaixo traria o mesmo resultado:

    x <- c (3, 5, 7)

    y <- c (1, 9, 11)

    t <- c (x + y)

    print (t)

    Resultado em tela:

                [1] 4 14 18

    Aprofundando.....

    Caso fosse incluída a função sum, o item estaria correto, pois o resultado seria 36:

    print (sum(x + y))

    Resultado em tela:

    [1] 36

    Portanto, item INCORRETO.

  • Não tem nada de "coluna", nem nada de "matriz".

    Isso é um vetor! A soma de vetores é um vetor também, um terceiro vetor, um vetor resultado (da operação com outros vetores).

    Se é soma de vetores, o resultado é em vetor, simples assim.

  • Ao somarmos os vetores x e y, o resultado seria 4, 14, 18.

  • Questão básica, somei todos os números deu 36, marquei Certo.

    Gabarito Errado, lasquei-me.


ID
2858902
Banca
IF-MT
Órgão
IF-MT
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere o seguinte fragmento de código fonte, escrito em linguagem python: 


a = 3

b = a * 2

a, b = b, a


Após a execução de todos os comandos, qual é o resultado apresentado pelo comando abaixo?

         print(a

Alternativas
Comentários
  • a = 3

    b = a * 2 # variável b = 6

    a, b = b, a # Trocam os valores das variáveis, a=6; b=3

    print(a) #Imprimirá o valor 6 na tela - GABARITO ALTERNATIVA B

  • Me passei no a,b = b,a

  • Na 1a linha, a = 3

    Na 2a linha, b = 6

    Na 3a linha (a,b) = (b,a) = (6,3)

    Na 3a linha, é feita uma atribuição dupla em que a recebe b e b recebe a.

    Assim, o print(a) irá imprimir 6.

    Resposta: B

  • Na 1ª linha, a = 3

    Na 2ª linha, b = 6

    Na 3ª linha (a,b) = (b,a) = (6,3)

    Na 3ª linha, é feita uma atribuição dupla em que a recebe b e b recebe a.

    Assim, o print(a) irá imprimir 6.

    Resposta: B

  • O correto seria dar erro né?

    Pois ele não fechou os parênteses. kkkkkkk

  • Que loucura!

  • Gabarito: B

    a, b = b, a

    >>> TROCA DE VARIÁVEIS

    a=b

    b=a

    b= 6

    a=3

    ___

    a=6

    b=3

  • Na 1ª linha, a = 3

    Na 2ª linha, b = 6

    Na 3ª linha (a,b) = (b,a) = (6,3)

    Na 3ª linha, é feita uma atribuição dupla em que a recebe b e b recebe a.

    Assim, o print(a) irá imprimir 6.


ID
2858905
Banca
IF-MT
Órgão
IF-MT
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere o seguinte fragmento de código fonte escrito na linguagem python:


def foo(a):

    return a + a + a

b = 1

foo(b)

foo(b)

foo(b)


Após a execução de todos esses códigos, qual é o valor a ser mostrado mediante o comando abaixo?

                print(b)


Alternativas
Comentários
  • Ao utilizar a chamada foo(b) a função retorna o valor somado três vezes, porém não é armazenado em nenhuma variável. Portanto, o valor da variável b continua inalterado e apresentará como resultado 1.

  • O código escrito correto.

    def foo(a):

        return a + a + a

      b = 1

      foo(b)

      foo(b)   

      foo(b)

    Há 3 chamadas a função foo(b), mas nenhuma delas altera o valor de b que é igual a 1. Assim quando o comando print(b) é executado o valor exibido é 1.

    Gabarito: B

  • A função foo é bem simples. Ela triplica o valor do parâmetro que recebe.

    O parâmetro b nas 3 chamadas foo(b) é passado por valor. Isso significa que ele será triplicado dentro do contexto da função. Fora, ele permanece com o valor original, que é 1. Portanto, ao fazer o print(b) no final é impresso 1.

    Resposta: B

  • A função foo é bem simples. Ela triplica o valor do parâmetro que recebe.

    O parâmetro b nas 3 chamadas foo(b) é passado por valor. Isso significa que ele será triplicado dentro do contexto da função. Fora, ele permanece com o valor original, que é 1. Portanto, ao fazer o print(b) no final é impresso 1.

    Resposta: B

  • Essa questão deveria ter sido anulada uma vez que ao 'b' não foi atribuído nenhum valor. uma vez que o 'b' pertencia à variável da função.

  • OBS: mesmo se "b" fosse alterado dentro função, seu valor continuaria 1 porque é passado o valor, não a referência.

  • Função foo -> triplica o valor do parâmetro que recebe.

    O parâmetro b nas 3 chamadas foo(b) é passado por valor.

    Isso significa que ele será triplicado dentro do contexto da função.

    Fora, ele permanece com o valor original, que é 1.

    Portanto, ao fazer o print(b) no final é impresso 1.

    Resposta: B


ID
2858911
Banca
IF-MT
Órgão
IF-MT
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre a linguagem Python, é INCORRETO afirmar que:

Alternativas
Comentários
  • Atenção ao comando INCORRETA!


    C) A linguagem Python é distribuída sob licença que proíbe sua incorporação em produtos proprietários. 

    Incorreta. Porque neste caso, ela não poderá criar softwares que rodem no Windows que é um SO de produto proprietário.

  • (a) Suporta os paradigmas: imperativo, orientado a objetos e funcional.

    Lembrando o nosso mnemônico FIPO: funcional, imperativo, procedural e orientado a objeto. A alternativa mencionou só os paradigmas imperativo, orientado a objetos e funcional, mas está correta. Quem pode mais, pode menos.

    (b) Utiliza indentação para delimitar início e fim de blocos.

    Correto. Não temos delimitadores de blocos em Python. Basta indentar corretamente.

    (c) A linguagem Python é distribuída sob licença que proíbe sua incorporação em produtos proprietários.

    Errado! A licença do Python permite que seja incorporada em um produto proprietário.

    (d) Python é uma linguagem de tipagem dinâmica e forte.

    Correto. Vimos isso no exemplo do cálculo do IMC no início da parte teórica desta aula.

    (e) Python é um software de código aberto.

    Correto. Python é licenciado segundo a Python Software Foundation License (PSFL), um tipo de licença de código aberto.

    Resposta: C

  • Gabarito: C

    (a) Correto, ele suporta todos esses paradigmas de programação;

    (b) Correto, ele realmente utiliza endentação para delimitar início e fim de blocos de programação;

    (c) Errado, Python é um software de código aberto (com licença compatível com a GPL - General Public License), porém menos restritiva – permitindo que ele seja incorporado em produtos proprietários;

    (d) Correto, ele realmente possui tipagem dinâmica e forte;

    (e) Correto, ele é uma linguagem de programação, mas também pode ser considerado um software de código aberto pelo conjunto (Letra C). 

    Fonte: estretégia concursos

  • (a) Suporta os paradigmas: imperativo, orientado a objetos e funcional.

    Lembrando o nosso mnemônico FIPO: funcional, imperativo, procedural e orientado a objeto. A alternativa mencionou só os paradigmas imperativo, orientado a objetos e funcional, mas está correta. Quem pode mais, pode menos.

    (b) Utiliza indentação para delimitar início e fim de blocos.

    Correto. Não temos delimitadores de blocos em Python. Basta indentar corretamente.

    (c) A linguagem Python é distribuída sob licença que proíbe sua incorporação em produtos proprietários.

    Errado! A licença do Python permite que seja incorporada em um produto proprietário.

    (d) Python é uma linguagem de tipagem dinâmica e forte.

    Correto. Vimos isso no exemplo do cálculo do IMC no início da parte teórica desta aula.

    (e) Python é um software de código aberto.

    Correto. Python é licenciado segundo a Python Software Foundation License (PSFL), um tipo de licença de código aberto.

    Resposta: C

  • Assertiva C INCORRETA

    A linguagem Python é distribuída sob licença que proíbe sua incorporação em produtos proprietários.

  • Sobre a linguagem Python, é CORRETO afirmar que:

    Suporta os paradigmas:

    • imperativo, orientado a objetos e funcional.
    • Utiliza indentação para delimitar início e fim de blocos.
    • Python é uma linguagem de tipagem dinâmica e forte.
    • Python é um software de código aberto

  • (a) Suporta os paradigmas: imperativo, orientado a objetos e funcional.

    Lembrando o nosso mnemônico FIPO: funcional, imperativo, procedural e orientado a objeto. A alternativa mencionou só os paradigmas imperativo, orientado a objetos e funcional, mas está correta. Quem pode mais, pode menos.

    (b) Utiliza indentação para delimitar início e fim de blocos.

    Correto. Não temos delimitadores de blocos em Python. Basta indentar corretamente.

    C) -> ERRADO

    A licença do Python permite que seja incorporada em um produto proprietário.

    Python é licenciado segundo a Python Software Foundation License (PSFL), um tipo de licença de código aberto.


ID
2926570
Banca
Quadrix
Órgão
CRA-PR
Ano
2019
Provas
Disciplina
Programação
Assuntos

Julgue o item quanto à programação orientada a objetos e à linguagem de programação Python.


A criação de métodos e tipos genéricos não é permitida pelo polimorfismo paramétrico.

Alternativas
Comentários
  • Polimorfismo Paramétrico é uma forma de se tornar uma linguagem mais expressiva, enquanto continua mantendo toda sua tipagem estática segura. Usando Polimorfismo Paramétrico a função ou tipo de dado pode ser escrita genericamente para que possa suportar valores idênticos sem perder seu tipo.

    Gabarito: Errado

  • Assertiva E

    A criação de métodos e tipos genéricos não é permitida pelo polimorfismo paramétrico.

  • Usando o polimorfismo paramétrico, a função ou tipo de dado pode ser escrita genericamente para que possa suportar valores idênticos sem depender de seu tipo. Essas funções e tipos de dados são chamados funções genéricas e tipos de dados genéricos respectivamente e formam a base da programação genérica.

    Fonte: https://pt.wikipedia.org/wiki/Polimorfismo_paramétrico

  • Não entendi nada

  • nishumura nelesssss

  • Cuma?

  • Tudo isso para ficar na fronteira.


ID
2926573
Banca
Quadrix
Órgão
CRA-PR
Ano
2019
Provas
Disciplina
Programação
Assuntos

Julgue o item quanto à programação orientada a objetos e à linguagem de programação Python.


Na estrutura de um programa em Python, as instruções contêm expressões que, por sua vez, criam e processam objetos.

Alternativas
Comentários
  • CERTO

    Python é totalmente OO, não existem variáveis primitivas na linguagem.

  • Concurseiro de TI, poderia explicar melhor por favor ? O que seria OO ?

    Desde já agradeço.

  • @RAFAEL ARANTES OO significa: Orientação a Objeto.

  • Assertiva C

    Na estrutura de um programa em Python, as instruções contêm expressões que, por sua vez, criam e processam objetos.

  • Gabarito: Certo

    Conceitos gerais

    Python é uma linguagem de programação de alto nível, interpretada, imperativa, multiparadigma, e de tipagem forte e dinâmica. É uma linguagem que suporta a grande maioria das técnicas de programação orientada a objetos. TUDO na linguagem Python é um objeto.

    Atualmente a linguagem possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation.

    Na estrutura de um programa em Python, as instruções contêm expressões que, por sua vez, criam e processam objetos.

    O Python é uma linguagem de propósito geral, não é focada em algo só. Com ele você pode desenvolver aplicativos para android, windows e linux. É uma linguagem multiplataforma.

    #MireAsEstrelas


ID
2926576
Banca
Quadrix
Órgão
CRA-PR
Ano
2019
Provas
Disciplina
Programação
Assuntos

Julgue o item quanto à programação orientada a objetos e à linguagem de programação Python.


Um recurso bastante útil da Python consiste no tratamento posicional das strings. Elas são consideradas como sequências mutáveis e podem ter sua ordem (sequência) alterada da esquerda para a direita ou vice‐versa, dependendo da função do programa.

Alternativas
Comentários
  • Em Python Strings são imutáveis

  • Strings assim como as tuplas são imutáveis, ou seja, após criada, o seu valor não é alterado.

    .

    .

    At.te

    Foco na missão 

  • A 1a frase está correta: “Um recurso bastante útil da Python consiste no tratamento posicional das strings.”.

    O erro está na 2a frase quando o avaliador diz que as strings são consideradas como sequências mutáveis. Isso não é verdade. As strings são imutáveis. Ao fazer qualquer manipulação em uma string, o Python copia e cria um novo objeto string com o resultado da manipulação e a string original permanece imutável.

    Resposta: Errado

  • A 1ª frase está correta: “Um recurso bastante útil da Python consiste no tratamento posicional das strings.”.

    O erro está na 2ª frase quando o avaliador diz que as strings são consideradas como sequências mutáveis. Isso não é verdade. As strings são imutáveis. Ao fazer qualquer manipulação em uma string, o Python copia e cria um novo objeto string com o resultado da manipulação e a string original permanece imutável.

    Resposta: Errado

  • Em python

    imutáveis ------> int, float, string, bool .

    -------------------------------------------------------------------------------------------------------------------------

    mutáveis: listas ,dicionários ,conjuntos, bytearrays e classes definidas pelo usuário.

  • Gabarito errado. Errei, mas vou trazer minha contribuição para a questão por já ter programado muito em Python há alguns anos.

    No python ou em qualquer linguagem pode-se criar funções que realizam determinado objetivo. Já fiz vários exercícios de programação que "modificam" a String dada uma entrada. A sacada é que dentro da função a String em si não é alterada, pois como os colegas já contribuíram aí, as Strings são imutáveis, e para realizar o exercício de modificação da String a partir de dada entrada é necessário criar outra variável e operar em cima da entrada para gerar a saída da "nova String". Terminei marcando como certo porque na minha mente veio essa possibilidade.

    Resumindo: Strings em si são imutáveis, você não consegue alterar um caracter individual em determinada string sem ter que criar um novo objeto.

  • Um BIZU que funciona comigo

    Python = aquela cobra enorme (haha)

    As Tuplas (linhas) de uma cobra são IMUTÁVEIS, pois elas todas rastejam em linhas, e rastejam como CORDAS (STRINGS) : STRINGS E TUPLAS = IMUTÁVEIS hahaha

    As Listas são MUTÁVEIS, pois cada cobra tem suas listRas. hahaha


ID
2926579
Banca
Quadrix
Órgão
CRA-PR
Ano
2019
Provas
Disciplina
Programação
Assuntos

Julgue o item quanto à programação orientada a objetos e à linguagem de programação Python.


A Python fornece módulos internos para processamento numérico, como, por exemplo, o math.

Alternativas
Comentários
  • Sim, a python é battery included, ou seja, vem com muitas bibliotecas instaladas. A biblioteca citada é usada para utilizar funções matemáticas dentro do python.

  • math = Matemática

  • Assertiva C

     Python fornece módulos internos para processamento numérico .

    até "cobol " fornece módulos internos para processamento numérico. rs

  • A biblitoeca math precisa ser importada, portanto, na minha opinião, é externa ao Python e não simplesmente uma builtin. A questão estava acerta até falar do math.


ID
2994289
Banca
COPESE - UFPI
Órgão
UFPI
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise as assertivas a seguir sobre as linguagens de programação C, C++, Python e Java.


I. A linguagem Python é uma linguagem interpretada e imperativa;

II. Java, assim como C++, é um exemplo de linguagem que segue o paradigma de orientação a objetos;

III. O identificador % é utilizado para identificar um comentário que utiliza somente uma linha em um programa escrito na linguagem C;

IV. A linguagem de programação JAVA não fornece suporte à criação de tipos definidos pelo usuário.


Assinale a opção referente às assertivas CORRETAS.

Alternativas
Comentários
  • Letra C.

  • I. A linguagem Python é uma linguagem interpretada e imperativa;

    II. Java, assim como C++, é um exemplo de linguagem que segue o paradigma de orientação a objetos;

    III. O identificador // é utilizado para identificar um comentário que utiliza somente uma linha em um programa escrito na linguagem C;

    IV. A linguagem de programação JAVA  fornece suporte à criação de tipos definidos pelo usuário, enumerações, por exemplo.

    .

    .

    At.te

    Foco na missão 

  • Assertiva C

    Estão corretas somente as assertivas I e II.

    I. A linguagem Python é uma linguagem interpretada e imperativa;

    II. Java, assim como C++, é um exemplo de linguagem que segue o paradigma de orientação a objetos;

  • Cara eu pensei que C++ não era OO. kkk


ID
3009907
Banca
IF Sul Rio-Grandense
Órgão
IF Sul Rio-Grandense
Ano
2019
Provas
Disciplina
Programação
Assuntos

Em relação às características da linguagem Python, é correto afirmar que

Alternativas
Comentários
  • Letra "C" está errada pq python é FORTEMENTE tipada e dinâmica .

    Gab. B

  • Python possui herança múltipla

  • a) Ela é orientada a objetos, não é exclusiva para a web;

    b) Suporte à herança múltipla - Gabarito;

    c) Tipagem forte e dinâmica;

    d) Tupla é imutável.

    .

    .

    At.te

    Foco na missão

  • Letra B

    A linguagem de programação Python é considerada:

    - Alto nível

    - Interpretada: o código fonte é executado por um programa chamado interpretador

    - Imperativa: descreve uma sequência de ações

    - Orientada a objetos

    - De triagem dinâmica

    - Forte

    - Pode ser usada como script: descrever rotinas utilizadas na automação de tarefas e os códigos scripts podem ser usados em outros programas

    - Possui herança múltipla

    - Linguagem multiplataforma

    -Em comandos condicionais ou de repetição, a separação de blocos de código em Python é feita utilizando a endentação

    - Pode armazenar vários tipos de valores

  • GAB.: B

    Python é uma linguagem fortemente tipada, ou seja, uma vez definida a string, não é possível ajustá-la. Além disso, essa linguagem é dinamicamente tipada, a saber, o programador pode fazer transformações.

    E que venham as provas da PF e da PCDF!!!

  • GABARITO: C

    (a) Errado, tem tipagem forte e dinâmica;

    (b) Errado, pode ser utilizada para desenvolvimento web, criação de fluxos de trabalho, conexão com bancos de dados, resolução de problemas matemáticos, prototipação de software, entre outros;

    (c) Correto, ele realmente suporta orientação a objetos e herança múltipla;

    (d) Errado, tupla é tpo imutável (Letra C). 

    fonte: estratégia concursos

  • TUPLA NÃO SE MUDA

    SET NÃO SE REPETE

  • Assertiva B

    linguagem Python tem suporte à herança múltipla. "Orientada Obj"

  • Python por ser de tipagem forte não permite operações entre tipos diferentes.

    Nesse caso é preciso que o programador explicite a conversão dos dados.

    resposta : Letra b

    tem suporte à herança múltipla ao contrário do Java que possui herança simples: uma classe pode ter apenas um 'pai"


ID
3009913
Banca
IF Sul Rio-Grandense
Órgão
IF Sul Rio-Grandense
Ano
2019
Provas
Disciplina
Programação
Assuntos

Considerando a variável s = ' IFSUL', utilizando a linguagem Python, qual a instrução que exibe 'SU'?

Alternativas
Comentários
  • Em python, string é uma sequência de blocos, onde cada letra ocupa uma posição. Portanto a variável s será interpretada como:

    Indice 0...1...2...3...4.

    ............I....F...S...U...L

    Entretanto, o índice negativo também é válido! por sua vez, contamos ao contrário, a partir do final da string

    Indice negativo -5...-4...-3...-2...-1.

    ............................I....F.....S....U.....L

    Sabendo disto, a única alternativa que resulta no proposto pela questão é a alternativa A, GABARITO DA QUESTÃO

    print (s[-3:-1])

    5...-4...-3...-2...-1.

    I....F.....S....U.....L

    Lembrando, que o 'operador de fatiamento' em python funciona da seguinte maneira [a:b] , a é incluído, b é excluído

  • Complementando ...

    a) s[-3:-1] ➝ 'SU'  ✔

    b) s[3:4] ➝ 'U'

    c) o método substr é usado em Java, não me recordo se há no python, creio que não.

    d) s[-3:-4] ➝ Resultado vazio!!! Não tem como imprimir do -3 ao -4, nesse caso. Um exemplo mais claro abaixo:

    s = 'IFSUL'

    s [-3:-2] Começa da posição -3 (S) até a posição -2 (U), mas a última posição do fatiamento não sai no resultado, então, imprimirá somente 'S'.

    Obs.: Lembrando que:

    .: A posição esquerda ➝ direita começa com 0 (0,1,2,3,4...);

    .: A posição da direita ➝ esquerda começa com -1 (-1,-2,-3,-4...).

    .

    .

    At.te

    Foco na missão ❣ 

  • De forma rápida:

    print (s[-3:-1])

    I F S U L -3 retorna de trás para frete incluído o " começo" = S

    -1 retorna de trás para frente excluído o fim = U

    Essa sintaxe opera no formato [ começo; fim] por isso se fala em incluir começo e excluir fim.

  • Gabarito: A

     s = ' IFSUL'

    Da esquerda para direita =

    I = 0

    F= 1

    S = 2

    U =3

    L =4

    Da direita para esquerda =

    I = -5

    F= -4

    S= -3

    U= -2

    L = -1

    obs: lembrando que o primeiro número (-3) é incluído, já o último NÃO.

    print (s[-3:-1])

    S= -3

    U= -2

    L = -1

    ----> INCLUI O PRIMEIRO E EXCLUI O ÚLTIMO = [ -3, -2] = SU


ID
3009922
Banca
IF Sul Rio-Grandense
Órgão
IF Sul Rio-Grandense
Ano
2019
Provas
Disciplina
Programação
Assuntos

Sobre o framework Django, avalie as afirmações que seguem:


I. É possível definir seus modelos de dados com classes em Python, porém não podemos gerar automaticamente o SQL correspondente e executá-lo no banco de dados a ser utilizado.

II. O único banco de dados que o Django suporta é o SQLite, que vem incluído no Python.

III. O Django contém um sistema de templates que busca separar o html do código em Python.

IV. O framework tem suporte à internacionalização.


Estão corretas apenas as afirmativas

Alternativas
Comentários
  • Conhecendo a versatilidade da linguagem Python eliminamos de cara a I e II.

  • III. O Django contém um sistema de templates que busca separar o html do código em Python. 

    IV. O framework tem suporte à internacionalização.

  • I: ERRADO. Mapeamento objeto-relacional - é possível definir seus modelos de dados com classes em Python e gerar automaticamente o SQL correspondente e executa-lo no banco de dados a ser utilizado. Mas, se por preciso é possível escrever os comandos SQL também.

    II: ERRADO. Você pode usar o Django com Mysql, Oracle e até mesmo sem um banco de dados.

  • Assertiva D

    III. O Django contém um sistema de templates que busca separar o html do código em Python.

    IV. O framework tem suporte à internacionalização.

    Obs

    Django = Website

  • Assertiva D

    III. O Django contém um sistema de templates que busca separar o html do código em Python.

    IV. O framework tem suporte à internacionalização.

    Obs

    Django = utiliza o padrão de projeto MTV

    Model: interação com o banco de dados;

    Template: "Basico" a interação do usuário com o site em Django;

    View: é responsável pelas regras de negócio do sistema Django.


ID
3009949
Banca
IF Sul Rio-Grandense
Órgão
IF Sul Rio-Grandense
Ano
2019
Provas
Disciplina
Programação
Assuntos

Observe o código fonte abaixo, escrito em linguagem Python 2.7.


a = (1, 2, 3)

b = [2, 3, 4]

c = {"1": 1, "2": 2, "3": 3}


A sintaxe INCORRETA para listas, tuplas e dicionários é

Alternativas
Comentários
  • a) Criando uma chave, chamada 'tres', com o valor da lista b {chave:valor} ➔ {"1": 1, "2": 2, "3": 3, "tres": [2, 3, 4]}

    b) Na posição zero da lista b, inseri 1 outra lista com os valores da tupla a (lista dentro de lista) ➔ [[1, 2, 3], 3, 4];

    c) Tuplas são imutáveis. Se quisermos alterá-las, precisaremos transformar, primeiramente, em lista, por exemplo.

    d) Substitui a lista b = [2,3,4] pela tupla inteira a, a[::]. ➔ b = (1,2,3).

    .

    .

    At.te

    Foco na missão  

     

  • Na alternativa b) trata-se de slice notation, [::] é o mesmo que [:] retorna todos os itens da lista do primeiro até o último. A notação é: lista[start:stop:step]

  • Gabarito: C

    Listas = [ ]

    Tuplas = ( ) ------> ÚNICO IMUTÁVEL

    Set = { }

    Dicionários = { }