Identifique o erro ou comportamento dos códigos abaixo com base nas regras do Python.
1_lugar = “João”
print(1_lugar)
Qual é o erro neste código acima?
numero = input("Digite um número: ")
resultado
numero +5
print(resultado)
Qual será o problema ao executar a linha do cálculo?
print(1_lugar)
Qual é o erro neste código acima?
numero = input("Digite um número: ")
resultado
print(resultado)
Qual será o problema ao executar a linha do cálculo?
Passo 1
Vou listar claramente o que o enunciado nos dá e o que ele pergunta para cada trecho de código.
-
Primeiro trecho:
- Código exibido:
seguido de . - Pergunta: “Qual é o erro neste código acima?”
- Informação relevante: há uma atribuição a um nome de variável que começa com o dígito
.
- Código exibido:
-
Segundo trecho:
- Código exibido (como foi escrito):
e depois e . - Pergunta: “Qual será o problema ao executar a linha do cálculo?”
- Informação relevante: a chamada
lê algo do usuário; o código mostra um operador de soma com . Observação: o enunciado usou o símbolo na atribuição; não está claro se isso é só para formatar a questão ou está literalmente no código.
- Código exibido (como foi escrito):
Passo 2
Sobre nomes de variáveis (identificadores) em Python — o fundamento que explica o erro do primeiro trecho.
- Regra principal: um identificador em Python deve começar por uma letra (a–z, A–Z) ou por sublinhado
. Depois do primeiro carácter pode usar letras, dígitos e sublinhados. - Coisas proibidas: começar com dígito, conter espaços, usar símbolos como
(fora de strings) ou ser uma palavra reservada. - Exemplos bons:
, , . - Exemplos inválidos:
(começa com dígito), (contém espaço), (palavra reservada).
Aplicando ao caso: o nome
começa com o dígito
, portanto viola a regra. Quando o Python tenta interpretar a linha
ele não reconhece isso como um identificador válido e gera um erro de sintaxe (um SyntaxError) antes mesmo do programa rodar.
Passo 3
Como corrigir o primeiro trecho (exemplos práticos e explicação para a prova).
- Trocar o nome inválido por um nome válido. Exemplos:
-
-
-
(começa com sublinhado — válido)
-
- Código corrigido mínimo:
-
- Dica prática na prova: se você vê um identificador começando por número, já marque como erro de sintaxe — não é um runtime error, é erro na análise léxica/sintática.
Passo 4
Agora o segundo trecho: o que a função
devolve e por que isso causa problema na linha do cálculo.
- Comportamento de
: ela sempre retorna uma string. Exemplo: se o usuário digitar , o valor de será a string — não o número . - Operador
em Python: - Se os operandos forem números (int/float),
faz soma aritmética. - Se ambos forem strings,
faz concatenação (ex.: ). - Se um for string e outro for inteiro/float, Python não sabe combinar os tipos e lança um erro do tipo TypeError.
- Se os operandos forem números (int/float),
- Portanto, supondo que a linha de atribuição foi realmente
(sem os ), aí está o problema: é uma string e é inteiro, logo a expressão tenta somar str + int e o Python lança: - TypeError: can only concatenate str (not “int”) to str
- Nota sobre o símbolo
: se o código literal contiver o carácter
, isso também seria um erro de sintaxe porque não é parte da sintaxe Python. Então há duas possibilidades a verificar: - Se
faz parte do enunciado só para mostrar “igual”, ignore; o erro real é o TypeError explicado acima. - Se
está mesmo no arquivo .py, o erro será SyntaxError porque é inválido.
- Se
Passo 5
Como consertar o segundo trecho — passo a passo e explicação para a prova (sem pular etapas).
- Solução direta quando se espera um inteiro do usuário:
- Ler e converter:
- Somar:
- Mostrar:
- Explicação:
transforma a string lida em um inteiro; aí o operador faz soma numérica.
- Ler e converter:
- Se valores decimais são possíveis, usar
em vez de . - Atenção a entradas inválidas: se o usuário digitar algo que não é número,
gera um . Na prova, se pedirem robustez, pode-se mostrar o uso de para capturar e tratar a entrada. - Exemplo completo corrigido e seguro:
-
Passo 6
Resumo rápido e dicas de prova (memorização fácil):
- Identificadores não podem começar por dígito. Se ver
, responda “erro de sintaxe: identificador inválido”. -
retorna string. Sempre converta para ou antes de fazer operações numéricas. - Se encontrar símbolos estranhos como
no código fonte, marque como erro de sintaxe — caracteres não permitidos. - Mensagem de erro típica para str + int: TypeError explicando que não se pode concatenar str com int.
Resposta
Erro de sintaxe (SyntaxError): identificador inválido — nomes não podem começar com dígito (portanto
é inválido).
Ao executar a linha de cálculo (supondo que seja
): ocorre um TypeError porque
devolve uma string e não se pode somar str com int; solução: converter com
ou
.