Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Teste Final
Função para começar 
Muito bem! Você chegou ao fim do curso e concluiu um grande marco na sua formação em programação em Python.
Agora você está pronto para aceitar o desafio final, o Teste Final , que o ajudará a revisar as informações mais importantes que você leu e testar as habilidades e os conhecimentos adquiridos ao longo do curso.
O teste final é baseado no que você aprendeu em todo o curso. Há dez perguntas no total e você precisa marcar pelo menos 70% para passar. Boa sorte!
Pergunta 1
Qual é a saída do seguinte snippet?
1
2
3
4
5
6
7
my_list = [1, 2]
 
for v in range(2):
    my_list.insert(-1, my_list[v])
 
print(my_list)
 
[2, 1, 1, 2]
botão_de_rádio_desmarcado
[1, 2, 2, 2]
sinal_celular_4_bar
[1, 2, 1, 2]
[1, 1, 1, 2]
Vamos analisar o programa:
· Linha 1: a lista my_list é criada. A lista armazena o seguinte conteúdo: [1, 2]
· Linha 3: a função range () gera uma sequência de dois números (0 e 1), e o loop for iterage sobre essa sequência. A variável v obtém o valor do número dentro da sequência em cada iteração, e o loop continua até que o último número na sequência seja atingido. O corpo do loop é inserido e a operação my_list.insert (-1, my_list [v]) é executada duas vezes.
· Linha 4: após a primeira iteração do loop for (quando v = 0), a lista [1, 2] é atualizada - o método insert () insere um novo elemento na lista (v = 0, então my_list[v] = 1 ) no índice especificado (-1). A lista my_list após a primeira iteração do loop for tem o seguinte conteúdo: [1, 1, 2]. Após o segundo for a iteração do loop (quando v = 1), a lista [1, 2, 3] é atualizada pela segunda vez - o método insert() insere outro novo elemento na lista (v = 1, então my_list[v] = 1) no índice especificado (-1). A lista my_list após o segundo loop for contém o seguinte conteúdo: [1, 1, 1, 2].
· Linha 6: a função print() imprime o conteúdo da lista na tela.
Pergunta 2
O significado de um argumento posicional é determinado por:
seu valor
botão_de_rádio_desmarcado
sua posição na lista de argumentos
sinal_celular_4_bar
o nome do argumento especificado junto com seu valor
sua conexão com as chaves existentes
Argumentos posicionais podem ser chamados por sua posição em uma chamada de função e, portanto, devem ser incluídos na ordem correta.
Pergunta 3
Quais das seguintes frases são verdadeiras sobre o código? (Selecione duas respostas)
1
2
3
nums = [1, 2, 3]
vals = nums
 
númerose os valores são listados diferentes
valesé maior quenúmeros
caixa_de_seleção_contorno_em_branco
númerose os valores são nomes diferentes da mesma lista
sinal_celular_4_bar
númerostem o mesmo comprimento quevales
Atribuir nums a vals cria uma situação em que a mesma lista (ou seja, [1, 2, 3]) tem dois nomes diferentes. Atribuir um novo nome a uma lista atual, no nosso caso, vals para nums, é chamado de alias. E como nums e vals são dois nomes diferentes que se referem ao mesmo objeto, eles também têm o mesmo comprimento (3).
Pergunta 4
Um operador capaz de verificar se dois valores não são iguais é codificado como:
<>
botão_de_rádio_desmarcado
não ==
sinal_celular_4_bar
=/=
!=
O operador != verifica se dois valores são diferentes. Por exemplo, a seguinte expressão 1! = 2 será avaliada como True.
Pergunta 5
O seguinte trecho:
1
2
3
4
5
6
7
8
9
10
def function_1(a):
    return None
 
 
def function_2(a):
    return function_1(a) * function_1(a)
 
 
print(function_2(2))
 
Produzirá16
Produzirá2
Produzirá4
botão_de_rádio_desmarcado
causará um erro de execução
sinal_celular_4_bar
O objeto None não tem operadores aritméticos definidos - o programa gerará a exceção TypeError, porque o tipo NoneType não pode ser o operando do operador *.
Pergunta 6
O resultado da seguinte divisão:
1
1 // 2
não pode ser previsto
é igual a0,0
botão_de_rádio_desmarcado
é igual a0
sinal_celular_4_bar
é igual a0,5
O operador // divide dois números e arredonda o resultado para o número inteiro mais próximo. Como 1 dividido por 2 é 0.5, o número resultante é arredondado para 0.
Pergunta 7
O seguinte trecho:
1
2
3
4
5
6
def func(a, b):
    return b ** a
 
 
print(func(b=2, 2))
 
ProduziráNenhum
Produzirá2
botão_de_rádio_desmarcado
está errado
sinal_celular_4_bar
Produzirá4
O programa aumentará o SyntaxError, porque o argumento posicional na chamada de função (2) segue o argumento da palavra-chave (b = 2). A alteração da ordem dos argumentos na invocação da função func() (ou seja, func(2, b = 2)) corrige o problema, caso em que o programa produziria 4 como resultado.
Pergunta 8
Qual valor será atribuído à variávelx?
1
2
3
4
z = 0
y = 10
x = y < z and z > y or y < z and z < y
 
botão_de_rádio_desmarcado
0
sinal_celular_4_bar
Verdadeiro
1
Falso
Vamos analisar o exemplo:
· 0 é atribuído a z, e 10 é atribuído a y,
· o resultado da avaliação a seguir y < z and z > y or y < z and z < y é atribuído a x:
· y < z avalia como Falso,
· z > y é avaliado como Falso,
· y < z avalia como Falso novamente,
· e z < y é avaliado como Verdadeiro.
· E agora: Falso and Falso é Falso; Falso or Falso é Falso; e finalmente False and True é Falso.
Pergunta 9
Quais dos seguintes nomes de variáveis ​​são ilegais e causarão a exceção SyntaxError? (Selecione duas respostas)
Em
para
caixa_de_seleção_contorno_em_branco
imprimir
sinal_celular_4_bar
em
Os nomes in e for são palavras reservadas do Python (palavras-chave). Eles não podem ser usados como nomes de variáveis. Observe que o nome print não é uma palavra reservada do Python e pode ser usado como um nome de variável, caso em que irá sobrepor a função interna do Python, print().
Pergunta 10
Qual é a saída do seguinte snippet?
1
2
3
4
5
6
7
8
9
10
my_list = [x * x for x in range(5)]
 
 
def fun(lst):
    del lst[lst[2]]
    return lst
 
 
print(fun(my_list))
 
[0, 1, 4, 9]
[1, 4, 9, 16]
botão_de_rádio_desmarcado
[0, 1, 9, 16]
sinal_celular_4_bar
[0, 1, 4, 16]
Vamos analisar o exemplo:
· Linha 1: a compreensão da lista é usada para criar a seguinte lista: [0, 1, 4, 9, 16] e atribuí-la à variável my_list,
· Linhas 4-6: A função fun () é definida, e recebe uma lista (lst) como argumento. No corpo da função, a instrução del exclui um elemento especificado da lista e retorna a lista atualizada,
· Linha 9: A função print () usa a função fun () como argumento e imprime o valor retornado na tela. A função fun () usa a lista my_list como argumento e a processa - a instrução del exclui o quarto elemento da lista (my_list [2] é 4).
Pergunta 11
Qual é o resultado do seguinte intervalo de código?
1
2
3
4
5
6
7
x = 1
y = 2
x, y, z = x, x, y
z, y, z = x, y, z
 
print(x, y, z)
 
1 1 2
1 2 1
botão_de_rádio_desmarcado
1 2 2
sinal_celular_4_bar
2 1 2
Vamos analisar o exemplo:
· x = 1 e y = 2
· como resultado da primeira atribuição de várias variáveis (Linha 3), x = 1, y = 1 e z = 2
· como resultado da segunda atribuição de várias variáveis (Linha 4), z = x = 1, y = y = 1, e z = z = 2 (porque a atribuição original da linha anterior agora substitui a primeira atribuição z da atual linha)
· portanto, o resultado impresso na tela é 1 1 2 .
Pergunta 12
Qual será o resultado do seguinte snippet?
1
2
3
4
5
6
7
8
a = 1
b = 0
a = a ^ b
b = a ^ b
a = a ^ b
 
print(a, b)
 
0 0
botão_de_rádio_desmarcado
1 1
sinal_celular_4_bar
1 0
0 1
Vamos analisar o código de linha por linha:
· Linha 1: 1 é atribuída à variável a
· Linha 2: 0 é atribuída à variável b
· Linha 3: o resultado da avaliação é 1, então a = 1
· Linha 4: o resultado da avaliação também é 1, então b = 1
· Linha 5: o resultado da avaliação a = a ^ b (onde a = 1 e b = 1) é 0, então a = 0
· os novos valores atribuídos às variáveis a e b são impressos no console.
Pergunta 13
Qual é a saída do seguinte snippet?
1
2
3
4
5
6
7
8
9
def fun(x):
    if x % 2 == 0:
        return 1
    else:
        return 2
 
 
print(fun(fun(2)))
 
Nenhum
1
o código causará um erro de tempo de execução
botão_de_rádio_desmarcado
2
sinal_celular_4_bar
A função print () na linha 8 usa a função fun () como argumento, que usa outra função fun () como argumento, que, por sua vez, usa o valor 2 como argumento.
Vamos analisar as chamadas de função, começandopelas mais corretas:
· a chamada fun (2) - x recebe o valor de 2, então x% 2 = 0, então a comparação 0 == 0 é avaliada como True, e a função retorna 1, que é passada para a função "esquerda" fun() funcionando como seu argumento,
· a chamada fun (1) - x recebe o valor de 1, então x% 2 = 1, então a comparação 1 == 0 é avaliada como False, o que significa que a função retorna 2, que é passada para a função print () como seu argumento. Portanto, 2 é impresso na tela.
Pergunta 14
Dê uma olhada nomy_list = [x * x for x in range(5)]
 
 
def fun(lst):
 del lst[lst[2]]
 return lst
 
 
print(fun(my_list))
 e escolha a afirmação verdadeira :
1
2
3
4
nums = [1, 2, 3]
vals = nums
del vals[:]
 
númerosevalestêm o mesmo comprimento
botão_de_rádio_desmarcado
númerosé maior quevales
sinal_celular_4_bar
o snippet causará um erro de tempo de execução
valesé maior quenúmeros
Atribuir nums a vals cria uma situação em que a mesma lista (ou seja, [1, 2, 3]) tem dois nomes diferentes. Atribuir um novo nome a uma lista atual, no nosso caso, vals para nums, é chamado de alias. E como nums e vals são dois nomes diferentes que se referem ao mesmo objeto, eles também têm o mesmo comprimento.
A instrução del esvazia a lista apontada por numse vals, o que significa que a lista tem um comprimento zero, o que significa que nums e vals têm o mesmo comprimento.
Pergunta 15
Qual é a saída do seguinte trecho de código se o usuário digitar duas linhas contendo3e2respectivamente?
1
2
3
4
5
6
7
x = int(input())
y = int(input())
x = x % y
x = x % y
y = y % x
print(y)
 
1
3
botão_de_rádio_desmarcado
0
sinal_celular_4_bar
2
Vejamos o que acontece:
· x = 3 e y = 2
· Linha 3: x = 3% 2 = 1
· Linha 4: x = 1% 2 = 1
· Linha 5: x = 2% 1 = 0
· o resultado é impresso na tela.
Pergunta 16
Qual é a saída do seguinte trecho de código se o usuário digitar duas linhas contendo3e6respectivamente?
1
2
3
4
y = input()
x = input()
print(x + y)
 
6
3
63
botão_de_rádio_desmarcado
36
sinal_celular_4_bar
É uma pergunta pegadinha por dois motivos:
· Motivo um: a função input () converte os dados inseridos pelo usuário em uma sequência de caracteres, e o resultado da adição de duas sequências é colá-las: "string" + "string" = "stringstring" (concatenação).
· Motivo dois: a primeira entrada do usuário é atribuída à variável y, enquanto a segunda à variável x. No entanto, eles são impressos na ordem inversa.
Pergunta 17
Qual é o resultado do seguinte intervalo de código?
1
2
print("a", "b", "c", sep="sep")
 
abc
abc
botão_de_rádio_desmarcado
asepbsepcsep
sinal_celular_4_bar
asepbsepc
A função print() imprime as seqüências de caracteres "a", "b" e "c" na tela e as separa com a sequência "sep". O parâmetro sep palavra-chave determina o tipo de separador usado entre os argumentos subsequentes print() na tela.
Pergunta 18
Qual é o resultado do seguinte intervalo de código?
1
2
3
x = 1 // 5 + 1 / 5
print(x)
 
0
0,5
botão_de_rádio_desmarcado
0,2
sinal_celular_4_bar
0,4
Lembre-se do princípio de precedência do operador e da diferença entre os dois operadores de divisão Python: // (divisão inteira) e / (divisão de ponto flutuante). Vamos analisar a expressão na primeira linha:
Como os operadores de divisão têm uma prioridade mais alta do que o operador de adição, podemos adicionar parênteses para facilitar a leitura e avaliar a expressão da seguinte maneira: (1 // 5) + (1/5) fornece 0 + 0.2, que por sua vez avalia para 0.2.
Pergunta 19
Supondo queminha_tuplaé uma tupla criada corretamente, o fato de que as tuplas são imutáveis ​​significa que a seguinte instrução:
1
2
my_tuple[1] = my_tuple[1] + my_tuple[0]
 
está totalmente correto
pode ser executado se, e somente se, a tupla contiver pelo menos dois elementos
pode ser ilegal se a tupla contiver strings
botão_de_rádio_desmarcado
é ilegal
sinal_celular_4_bar
As tuplas são sequências imutáveis, o que significa que você não pode atualizá-las diretamente - adicionar, alterar ou remover itens de tupla exige a execução de diferentes tipos de operações, por exemplo, converter a tupla em uma lista, atualizar a lista e convertê-la novamente em uma tupla .
Pergunta 20
Qual é a saída do seguinte trecho de código se o usuário digitar duas linhas contendo2e4respectivamente?
1
2
3
4
x = float(input())
y = float(input())
print(y ** (1 / x))
 
4.2
0,0
1.0
botão_de_rádio_desmarcado
2.0
sinal_celular_4_bar
Vejamos o que acontece:
· o usuário digita 2, que é convertido em um número flutuante e atribuído à variável x
· o usuário digita 4, que é convertido em um número flutuante e atribuído à variável y
· o resultado da seguinte avaliação é impresso na tela: 4 ** (1/2) = 4 ** 0.5 = 2.0
Pergunta 21
Qual é a saída do seguinte snippet?
1
2
3
4
5
6
7
8
dct = {'one': 'two', 'three': 'one', 'two': 'three'}
v = dct['three']
 
for k in range(len(dct)):
    v = dct[v]
 
print(v)
 
('um dois três')
um
botão_de_rádio_desmarcado
três
sinal_celular_4_bar
dois
Vamos analisar o código:
· Linha 1: o dicionário dct contendo três pares chave: valor é criado
· Linha 2: a variável v é criada e atribuída ao valor do dicionário associado à chave 'three', que é a sequência "one"
· Linhas 4-5: o loop for executa três iterações (o comprimento do dicionário dct é 3):
· depois k = 0 v = "two"
· depois k = 1 v = "three"
· depois k = 2 v = "one"
· a string "one" atribuída à variável v é então impressa na tela.
Pergunta 22
Quantos elementos da lista1ºcontém?
1
2
lst = [i for i in range(-1, -2)]
 
hum
dois
botão_de_rádio_desmarcado
três
sinal_celular_4_bar
zero
A lista lst está vazia, porque a função range(), que consiste na compreensão da lista, define o parâmetro start com o valor inicial de -1 e o parâmetro de parada com o valor stop de -2 (o parâmetro stop tem um valor mais baixo valor do que o parâmetro start, o que torna impossível criar uma sequência).
Pergunta 23
Quais das seguintes linhas invocam corretamente a função definida abaixo? (Selecione duas respostas)
1
2
3
def fun(a, b, c=0):
    # Cuerpo de la función.
 
diversão(b=1)
diversão(b=0, a=0)
caixa_de_seleção_contorno_em_branco
diversão(0, 1, 2)
sinal_celular_4_bar
caixa_de_seleção_contorno_em_branco
diversão()
sinal_celular_4_bar
Como o argumento c é um argumento de palavra-chave com um valor padrão especificado, basta chamar a função especificando os valores padrão para os dois argumentos de palavra-chave restantes, a e b. Também é possível substituir um valor padrão de parâmetro de palavra-chave por uma chamada de função com argumentos poscionais: fun (0, 1, 2). Em ambos os casos, é importante que todos os parâmetros de função sejam atendidos.
A chamada fun (b = 1) está incorreta porque não especifica um valor para o argumento a necessário na definição de função. A chamada fun () está incorreta porque não especifica os valores para os argumentos a e b necessários na definição de função.
Pergunta 24
Qual é a saída do seguinte snippet?
1
2
3
4
5
6
7
8
9
def fun(x, y):
    if x == y:
        return x
    else:
        return fun(x, y-1)
 
 
print(fun(0, 3))
 
o snippet causará um erro de tempo de execução
2
1
botão_de_rádio_desmarcado
0
sinal_celular_4_bar
O fragmento a seguir é um exemplo de função recursiva.
Os dois argumentos a seguir são enviados para a função fun (x, y): 0 e 3. O resultado da comparação x == y é False, então o bloco else: é acionado.
No bloco else:, a chamada de função fun (x, y-1) é retornada, e desta vez os dois argumentos a seguir são enviados: x = 0 e y = 3 - 1 = 2. O processo é repetido (x = 0, y = 2 - 1 = 1 e x = 0, y = 1 - 1 = 0) até que o valor atribuído à variável y seja igual a 0, caso em que o resultado da x == y Comparação é True, e a função retorna o valor x de 0.
Pergunta 25
Quantas estrelas (*) ou fragmento a seguir enviado para o console?
1
2
3
4
5
6
7
i = 0
while i < i + 2 :
    i += 1
    print("*")
else:
    print("*")
 
botão_de_rádio_desmarcado
o snippet entrará em um loop infinito, imprimindo uma estrela por linha
sinal_celular_4_bar
1
0
2
Como i = 0, o resultado da seguinte comparação: i <1 +2 é True, então o programa entra no loop while. No entanto, nocorpo do loop, i é então incrementado, não decrementado, o que significa que o resultado da comparação i <1 +2 sempre será avaliado como True, o que significa que o loop executará um número infinito de iterações, executando a print( "*") funcionam com cada iteração.
Pergunta 26
Qual é a saída do seguinte snippet?
1
2
3
4
5
tup = (1, 2, 4, 8)
tup = tup[-2:-1]
tup = tup[-1]
print(tup)
 
44
botão_de_rádio_desmarcado
4
sinal_celular_4_bar
(4)
(4,)
Vamos analisar o código de linha por linha:
· Linha 1: a tupla tup de quatro elementos é criada
· Linha 2: as tuplas podem ser divididas, então o seguinte resultado da fatia é atribuído ao tup: (4,)
· Linha 3: como a tupla tup é uma tupla de um elemento agora (4,), a indexação do último e único elemento o "extrairá" da tupla e a atribuirá à variável tup como um valor inteiro.
· o valor 4 será impresso na tela.
Pergunta 27
Qual é a saída do seguinte snippet?
1
2
3
4
dd = {"1": "0", "0": "1"}
for x in dd.vals():
    print(x, end="")
 
o código está errado (o objetoditadonão tem o métodovalores())
1 0
0 0
botão_de_rádio_desmarcado
0 1
sinal_celular_4_bar
O fragmento a seguir gerará a exceção AttributeError, porque o objeto dict não tem nenhum atributo chamado vals. Substituir vals por values deve fazer o trabalho.
Pergunta 28
Qual é a saída do seguinte snippet?
1
2
3
4
5
6
7
dct = {}
dct['1'] = (1, 2)
dct['2'] = (2, 1)
 
for x in dct.keys():
    print(dct[x][1], end="")
 
botão_de_rádio_desmarcado
21
sinal_celular_4_bar
(1,2)
(2,1)
12
Vamos analisar o código:
· Linha 1: um dicionário vazio é criado
· Linha 2-3: os pares chave: valor são criados e adicionados ao dicionário dct:
dct = {'1': (1, 2), '2': (2, 1)}
· Linha 5-6: executa duas iterações do loop for (iteram através das chaves de dct) e imprimem os valores de dicionário (elementos de tupla) indexados na função de print(): x = 1 2, x = 2 1
· o parâmetro end = "" une as duas linhas impressas.
Pergunta 29
Qual é a saída do seguinte snippet?
1
2
3
4
5
6
def fun(inp=2, out=3):
    return inp * out
 
 
print(fun(out=2))
 
botão_de_rádio_desmarcado
O trecho está errado e causará SyntaxError
sinal_celular_4_bar
6
4
2
O valor padrão (3) atribuído ao argumento outda definição da função fun() foi alterado para2 na chamada da função fun() passada como o argumento para a função print(). Dessa forma, o resultado da avaliação (inp = 2) * (out = 2) é igual a 4 .
Pergunta 30
Quantos hashes (#) ou fragmento a seguir enviado para o console?
1
2
3
4
5
6
7
lst = [[x for x in range(3)] for y in range(3)]
 
for r in range(3):
    for c in range(3):
        if lst[r][c] % 2 != 0:
            print("#")
 
botão_de_rádio_desmarcado
zero
sinal_celular_4_bar
três
seis
nove
Vamos analisar o código:
· Linha 1: estamos usando uma compreensão de lista para criar a seguinte matriz bidimensional:
[[0, 1, 2], [0, 1, 2], [0, 1, 2]] 
· o programa insere o primeiro loop for com a variável de iteração r, tomando o valor do primeiro item dentro da sequência gerada pela função range(3), que é 0. Em seguida, o programa insere o segundo loop for (aninhado) com a variável de iteração c, recebendo o valor do primeiro item dentro da sequência gerada pela função range(3), que é 0. A seguinte condição é verificada:
if lst[0][0] % 2 != 0, imprima um hash (#) na tela. O valor retornado da lista lst armazenada nos índices [0][0] é 0, então a condição é avaliada como falsa (0 % 2 != 0 → False), o que significa que um hash não é impresso na tela no momento, e a execução do programa retorna ao loop externo. As iterações são repetidas para os seguintes pares de índice: [0][1], [0][2], [1][2], [1][0], [1][1], [1][2], [2][2], [2][0], [2][1], e [2][2].
· a função print() imprime um hash quando os seguintes pares de índice se tornam parte da verificação condicional:
· [0][1] → 1 porque se 1 % 2 != 0 for avaliado como True
· [1][1] → 1 porque se 1 % 2 != 0 for avaliado como True
· [2][1] → 1 porque se 1 % 2 != 0 for avaliado como True
· Portanto, a função print() produzirá três hashes na tela.
Pergunta 31
Qual é a saída do código a seguir se o usuário digitar um0?
1
2
3
4
5
6
7
8
9
10
11
12
try:
    value = input("Digite um valor: ")
    print(int(value)/len(value))
except ValueError:
    print("Entrada ruim...")
except ZeroDivisionError:
    print("Entrada muito ruim...")
except TypeError:
    print("Muito, muito ruim entrada...")
except:
    print("Booo!")
 
0,0
1.0
botão_de_rádio_desmarcado
Entrada ruim...
sinal_celular_4_bar
Entrada muito ruim...
Muito, muito ruim entrada...
Buuu!
O programa imprimirá 0.0 porque a seguinte expressão int (0) / len ("0") é avaliada como 0.0 (0/1 → 0.0), então o fluxo do programa não entra em nenhuma das clausulas exceptas, e nenhuma exceção é gerada.
Pergunta 32
Qual é o comportamento esperado do programa a seguir?
1
2
3
4
5
6
7
8
try:
    print(5/0)
    break
except:
    print("Desculpe, algo deu errado...")
except (ValueError, ZeroDivisionError):
    print("Muito ruim...")
 
O programa causará uma exceçãoErro de divisão zeroe gera a seguinte mensagem:Muito ruim...
O programa gerará uma exceção considerada pela primeira vez no blocoexceto.
O programa causará uma exceçãoErro de divisão zeroexceção e gera uma mensagem de erro padrão.
O programa causará uma exceçãoValorErro e gera uma mensagem de erro padrão.
O programa causará uma exceçãoValorErroe gera a seguinte mensagem:Muito ruim...
botão_de_rádio_desmarcado
O programa causará uma exceçãoErro de sintaxe.
sinal_celular_4_bar
O programa gerará uma exceção SyntaxError, porque a instrução break usada no bloco try viola as regras de gramática do Python (a instrução break deve ser usada em um loop). Quando o código é executado, antes de ser executado, o interpretador Python primeiro o analisa e o converte em código de bytes Python. Se o analisador encontrar um erro de sintaxe que tenha um efeito fatal no programa, ele não conseguirá analisar o código com êxito e gerará um SyntaxError.
Lembre-se que o analisador analisa o programa antes de sua execução, portanto, se ele encontrar um erro de sintaxe, o programa não será executado. Se o código não apresentar erros de sintaxe, o programa é executado e pode gerar outros tipos de exceções.
Pergunta 33
Qual é o comportamento esperado do programa a seguir?
1
2
3
foo = (1, 2, 3)
foo.index(0)
 
botão_de_rádio_desmarcado
O programa exibirá1na tela.
sinal_celular_4_bar
O programa causará uma exceçãoValorErro.
O programa causará uma exceçãoErro de atributo.
O programa causará uma exceçãoErro de sintaxe.
O programa causará uma exceção Erro de tipo.
O programa gerará uma exceção ValueError, porque o método index () da tupla retorna o índice de um determinado elemento em uma tupla, e a tupla foo não tem o elemento 0.
Mensagem completa de erro: ValueError: tuple.index(x): x not in tuple.
Pergunta 34
Qual dos seguintes snippets mostra a maneira correta de lidar com várias exceções em uma única cláusula except ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# A:
except (TypeError, ValueError, ZeroDivisionError):
    # Algo de código.
 
# B:
except TypeError, ValueError, ZeroDivisionError:
    # Algo de código.
 
# C:
except: (TypeError, ValueError, ZeroDivisionError)
    # Algo de código.
 
# D:
except: TypeError, ValueError, ZeroDivisionError
    # Algo de código.
 
# E:
except (TypeError, ValueError, ZeroDivisionError)
    # Algo de código.
 
# F:
except TypeError, ValueError, ZeroDivisionError
    # Algo de código.
 
A e B
Lá, Dó e Ré
Si e Dó
Somente A
botão_de_rádio_desmarcado
A e F
sinal_celular_4_bar
D e E
Apenas F
A seguinte sintaxe:
except (TypeError, ValueError, ZeroDivisionError):
é a única opção correta para lidar com várias exceções internas em uma única cláusula except.
Pergunta 35
O que acontecerá quando você tentar executar o código a seguir?
1
2
print(¡Hola Mundo!)
 
O código gerará a exceção AttributeError .
O código gerará a exceção SyntaxError .
O código gerará a exceção ValueError .
O código irá imprimirOlá Mundo!sem console.
botão_de_rádio_desmarcado
O código gerará a exceção TypeError .
sinal_celular_4_barO código gerará uma exceção SyntaxError, porque o argumento da string passado para a função print() deve ser delimitado por aspas.
O programa não gera uma exceção NameError, porque o nome World! contém um caractere ilegal: !, e Hello e World! não podem ser considerados nomes de variáveis que não foram reconhecidos pelo Python.
Você enviou suas respostas!
close
Enviar
Avaliação de revisão
40%
Você pontuou 40%.
Você não passou na avaliação. Selecione Redefinir para refazê-lo.
Lembre-se que você pode retornar ao módulo para referência ou refazer o exame a qualquer momento.

Mais conteúdos dessa disciplina