Qual das seguintes opções gera corretamente uma lista contendo os quadrados dos números pares de 0 a 10?
a)
lista = [x ** 2 for x in range(11) if x % 2 == 0]
b)
lista = [x ** 2 for x in range(10) if x % 2 == 0]
c)
lista = [x * x for x in range(11) if x % 2 == 1]
d)
lista = [x ** 2 for x in range(12) if x % 2 == 0]
Dado o seguinte dicionário:
dados = {"João": 85, "Maria": 92, "Carlos": 78, "Ana": 95}
Qual das seguintes expressões imprime apenas os nomes dos alunos que têm nota maior ou igual a 90?
a)
for nome, nota in dados:
if nota >= 90:
print(nome)
b)
for nome in dados:
if dados[nome] >= 90:
print(nome)
c)
for nome, nota in dados.items():
if nota >= 90:
print(nome)
d)
for nome, nota in dados.keys():
if nota >= 90:
print(nome)
Considere a seguinte função:
def calcular(a, b):
resultado = a * 2 + b
return resultado
print(resultado)
O que acontece ao executar esse código?
a) Ele imprime o valor correto de resultado.
b) Ele imprime None.
c) Ele retorna um erro, pois resultado está fora do escopo da função.
d) Ele não imprime nada.
Qual das opções abaixo substitui todas as vogais de uma string por * de forma correta?
a)
texto = "Olimpíada Nacional de IA"
texto.replace("a", "*").replace("e", "*").replace("i", "*").replace("o", "*").replace("u", "*")
b)
import re
texto = "Olimpíada Nacional de IA"
texto = re.sub(r"[aeiouAEIOU]", "*", texto)
c)
texto = "Olimpíada Nacional de IA"
for vogal in "aeiouAEIOU":
texto.replace(vogal, "*")
d)
texto = "Olimpíada Nacional de IA"
texto = texto.split("aeiouAEIOU", "*")
Suponha que temos um arquivo chamado dados.txt contendo várias linhas de texto. Qual das opções abaixo abre esse arquivo corretamente para leitura e imprime cada linha?
a)
with open("dados.txt", "r") as arquivo:
for linha in arquivo:
print(linha.strip())
b)
arquivo = open("dados.txt", "w")
for linha in arquivo:
print(linha.strip())
arquivo.close()
c)
with open("dados.txt", "w") as arquivo:
print(arquivo.read())
d)
arquivo = open("dados.txt", "r")
linhas = arquivo.readlines()
print(linhas)
Essas perguntas cobrem conceitos importantes de Python que podem ser testados na ONIA, como listas, dicionários, escopo de variáveis, manipulação de strings e arquivos.
✅ Resposta correta: letra a
Explicação: O código percorre os números de 0 a 10 e eleva ao quadrado apenas os pares.
✅ Resposta correta: letra c
Explicação: O método .items() permite acessar tanto a chave (nome) quanto o valor (nota), facilitando a filtragem das notas maiores ou iguais a 90.
✅ Resposta correta: letra c
Erro de escopo: resultado
só existe dentro da função calcular()
. Tentar acessá-lo fora da função gera um erro (NameError
).
✅ Resposta correta: letra b
Explicação: O método re.sub()
usa expressões regulares para substituir todas as vogais de uma só vez.
✅ Resposta correta: letra a
Explicação: O modo "r"
abre o arquivo para leitura, e strip()
remove espaços extras ou quebras de linha ao imprimir.