Edição

Escolha a edição e a reimpressão de seu livro. Você encontra esta informação na contra-capa do livro.

Errata

Todos os erros abaixo já foram corrigidos no arquivo zip com as listagens e nas páginas de listagens do site.
Página 35, figura 2.19, substitua: Janela do interpretador mostrando a opção Run Module selecionada.

por: Janela do editor de textos mostrando a opção Run Module selecionada.

Página 36, substitua New Window por New File no último parágrafo e na legenda da figura 2.14.
Página 39, figura 2.19, substitua: Janela do interpretador mostrando a opção Run Module selecionada.

por: Janela do editor de textos mostrando a opção Run Module selecionada.

Página 41, figura 2.19, substitua: Janela do interpretador mostrando a opção Run Module selecionada.

por: Janela do editor de textos mostrando a opção Run Module selecionada.

Página 43, segundo parágrafo: leia "Ao utilizarmos" e não "Ao utilizamos".
Página 43, substitua: O objetivo desse exemplo é apresentar a diferença entre descrevermos o problema de forma genérica, separando os valores de entrada do cálculo.

por: O objetivo desse exemplo é apresentar a diferença entre descrevermos o problema de forma genérica, separando os valores de entrada do cálculo; e de forma direta, onde os valores de entrada são escritos diretamente na fórmula.

Página 44, substitua: Em Python, nomes de variáveis devem iniciar obrigatoriamente com uma letra, mas podem conter números e o símbolo sublinha (_).

por: Em Python, nomes de variáveis devem iniciar obrigatoriamente com uma letra ou com o símbolo sublinha (_). Após o primeiro caractere, podem conter letras, números e o sublinha.

Página 44: corrigir:
>>> 2 ** 1/3
0.666666666
para:
>>> 2 ** (1/3)
1.2599210498948732
Página 49, substitua: Em Python, nomes de variáveis devem iniciar obrigatoriamente com uma letra, mas podem conter números e o símbolo sublinha (_).

por: Em Python, nomes de variáveis devem iniciar obrigatoriamente com uma letra ou com o símbolo sublinha (_). Após o primeiro caractere, podem conter letras, números e o sublinha.

Página 49, substitua: O objetivo desse exemplo é apresentar a diferença entre descrevermos o problema de forma genérica, separando os valores de entrada do cálculo.

por: O objetivo desse exemplo é apresentar a diferença entre descrevermos o problema de forma genérica, separando os valores de entrada do cálculo; e de forma direta, onde os valores de entrada são escritos diretamente na fórmula.

Página 50, substitua: Em Python, nomes de variáveis devem iniciar obrigatoriamente com uma letra, mas podem conter números e o símbolo sublinha (_).

por: Em Python, nomes de variáveis devem iniciar obrigatoriamente com uma letra ou com o símbolo sublinha (_). Após o primeiro caractere, podem conter letras, números e o sublinha.

Página 45, substitua: A importância da noção de diferença de base é importante...

por: A noção de diferença de base é importante...

Página 47, substitua: O objetivo desse exemplo é apresentar a diferença entre descrevermos o problema de forma genérica, separando os valores de entrada do cálculo.

por: O objetivo desse exemplo é apresentar a diferença entre descrevermos o problema de forma genérica, separando os valores de entrada do cálculo; e de forma direta, onde os valores de entrada são escritos diretamente na fórmula.

Página 47, penúltimo parágrafo: leia "Ao utilizarmos" e não "Ao utilizamos".
Página 51, 3.3.2.1 corrigir:

O operador not (não) é o mais simples, pois precisa apenas de um operador.

para:

O operador not (não) é o mais simples, pois precisa apenas de um operando.

Página 51, 3.3.2.2 corrigir:

O operador and (e) resulta verdadeiro apenas quando seus dois operadores forem verdadeiros.

para:

O operador and (e) resulta verdadeiro apenas quando seus dois operandos forem verdadeiros.

Página 52, 3.3.2.3 corrigir:

A regra fundamental do operador or (ou) é que ele resulta em falso apenas se seus dois operadores também forem falsos. Se apenas um de seus operadores for verdadeiro, ou se os dois forem, o resultado da operação será verdadeiro.

para:

A regra fundamental do operador or (ou) é que ele resulta em falso apenas se seus dois operandos também forem falsos. Se apenas um de seus operandos for verdadeiro, ou se os dois forem, o resultado da operação será verdadeiro.

Página 53, substitua: A importância da noção de diferença de base é importante...

por: A noção de diferença de base é importante...

Página 52, substitua: A importância da noção de diferença de base é importante...

por: A noção de diferença de base é importante...

Página 56, 3.3.2.1 corrigir:

O operador not (não) é o mais simples, pois precisa apenas de um operador.

para:

O operador not (não) é o mais simples, pois precisa apenas de um operando.

Página 56, 3.3.2.2 corrigir:

O operador and (e) resulta verdadeiro apenas quando seus dois operadores forem verdadeiros.

para:

O operador and (e) resulta verdadeiro apenas quando seus dois operandos forem verdadeiros.

Página 57, 3.3.2.3 corrigir:

A regra fundamental do operador or (ou) é que ele resulta em falso apenas se seus dois operadores também forem falsos. Se apenas um de seus operadores for verdadeiro, ou se os dois forem, o resultado da operação será verdadeiro.

para:

A regra fundamental do operador or (ou) é que ele resulta em falso apenas se seus dois operandos também forem falsos. Se apenas um de seus operandos for verdadeiro, ou se os dois forem, o resultado da operação será verdadeiro.

Página 58, Exercício 3.3, as linhas 8 e 9: a or c e b or c são repetidas nas linhas 10 e 11.
Página 53, Exercício 3.3, as linhas 4 e 5: a or c e b or c são repetidas nas linhas 6 e 7.
Página 57, seção 3.4.1.1, substitua: O conteúdo de variáveis string podem ser somados...

por: Os conteúdos de variáveis string podem ser somados...

Página 76, capítulo 4, na tabela 4.2, substitua as linhas:

5 1,2,4,5,7,8,10,13,14,15,19
outras 1,2,4,5,7,8,10,13,14,16,17,18,19

por:

5 1,2,4,5,7,8,10,11,13,14,15,19
outras 1,2,4,5,7,8,10,11,13,14,16,17,18,19
Página 62, seção 3.4.1.1, substitua: O conteúdo de variáveis string podem ser somados...

por: Os conteúdos de variáveis string podem ser somados...

Listagem 5.12: alterar %n para %d
Exercício 5.25: corrigir a fórmula do enunciado para p = ( b + ( n / b ) ) / 2
Listagem 4.7: corrigir a identação de preço = 10. Mude de:
if categoria == 1
preço = 10
para
if categoria == 1
    preço = 10
Listagem 6.6: corrigir o uso de nota para notas
Listagem 6.21: comentário: incrementa e não increnta
Página 136, substitua mudou na tupla em sim por mudou na tupla em si no último parágrafo.
Listagem 7.34: o código correto é:
"{0[0]} {0[1]}".format(["123", "456"])
Listagem 7.42: Se você utiliza Windows, substitua pt_BR.utf-8 por Portuguese_Brazil.
Listagem 7.45: alterar a linha 38 para:
print("X  O   " if erros >= 1 else "X")
Enunciado do exercício 8.3, substitua quadro por quadrado.
Listagens 8.6 e 8.7, a variável s não existe. Em ambos os casos, substitua s por total.
Listagem 8.8: Adicione x+=1 no while.
Listagem 8.16: Substitua minimo por mínimo e maximo por máximo.
Listagem 8.20: Substitua false por False.
Listagem 8.27: Substitua Valor: por Valor: %d.
Listagem 10.6: Substitua numero por número.
Listagem 10.7: Substitua operacoes por operações.
Apêndice A, página 216, primeiro parágrafo: leia: "... leva em consideração variações como letras minúsculas e maiúsculas..." e não "... leva em consideração variações como letras minúsculas e minúsculas..."
Página 57, 3.3.2.1 corrigir:

O operador not (não) é o mais simples, pois precisa apenas de um operador.

para:

O operador not (não) é o mais simples, pois precisa apenas de um operando.

Página 58, 3.3.2.2 corrigir:

O operador and (e) resulta verdadeiro apenas quando seus dois operadores forem verdadeiros.

para:

O operador and (e) resulta verdadeiro apenas quando seus dois operandos forem verdadeiros.

Página 58, 3.3.2.3 corrigir:

A regra fundamental do operador or (ou) é que ele resulta em falso apenas se seus dois operadores também forem falsos. Se apenas um de seus operadores for verdadeiro, ou se os dois forem, o resultado da operação será verdadeiro.

para:

A regra fundamental do operador or (ou) é que ele resulta em falso apenas se seus dois operandos também forem falsos. Se apenas um de seus operandos for verdadeiro, ou se os dois forem, o resultado da operação será verdadeiro.

Página 63, seção 3.4.1.1, substitua: O conteúdo de variáveis string podem ser somados...

por: Os conteúdos de variáveis string podem ser somados...

Página 68, quarto parágrafo. Corrigir o número da bolinha preta de 2 para 4.
Página 83. Programa 4.7, última linha:
print("O preço do produto é: R${preço:6.2f}" % preço)
Corrigir para:
print(f"O preço do produto é: R${preço:6.2f}")
Página 90: Listagem 05.12 alterar a linha:
print("Média: {soma / 5:5.2f}")
para:
print(f"Média: {soma / 5:5.2f}")
Página 93: Listagem 11.5 corrigir:
print("f{tabuada} x {número} = {tabuada * número}")
para:
print(f"{tabuada} x {número} = {tabuada * número}")
Página 176: corrigir a mensagem de erro no fim do segundo programa:
print("Valor inválido, digite entre -3 e 3")
para:
print("Valor inválido, digite entre -3 e 2")
Página 181: corrigir exceptException para except Exception
Página 188, topo da página corrigir:
[x for in range(10)]
para:
[x for x in range(10)]
Página 279: Listagem 11.29 alterar a linha:
print(f"Nome: {registro[0]}\nTelefone: {registro[1]}" % (registro))
para:
print(f"Nome: {registro[0]}\nTelefone: {registro[1]}")
Página 282: Listagem corrigir:

Modifique a máscara da f-string de

{'Estado':-20s}
para
{'Estado':<20s}

Modifique a máscara da f-string de

{estado['nome']:-20s}
para
{estado['nome']:<20s}

Página 290: Listagem 11.58 alterar a linha:
print(f"{feriado['data'].strftime(%d/%m)} {feriado['descrição']}")
para:
print(f"{feriado['data'].strftime('%d/%m')} {feriado['descrição']}")
Página 296: Listagem 11-64 método carrega_por_id, corrigir:
return carrega(consulta.fetchone())
para:
return self.carrega(consulta.fetchone())
Página 306: Programa 11.7 método carrega_por_id, corrigir:
return carrega(consulta.fetchone())
para:
return self.carrega(consulta.fetchone())
Várias listagens foram afetas por um problema comum entre isinstance e type. Utilize as listagens do site como referência para correção. Listagens afetadas: 08.63, 08.65, 10.16, 10.33, 10.34, 11.63, 11.65 Corrigir:
isinstance(type(x), int)
para:
isinstance(x, int)

Até agora nenhum erro foi encontrado nesta edição.

Ir para o topo