os bugs até agora

14 views
Skip to first unread message

rollingbits (aka Lucas)

unread,
Apr 14, 2013, 9:48:12 PM4/14/13
to garoa-python
Como ninguém comentou até agora, no capítulo 6, o link dos "Further
Reading" chamado "English Irregular Plural Nouns",
http://www2.gsu.edu/~wwwesl/egw/crump.htm, não funciona mais: termina
com "404 -- Not Found".

Neste mesmo capítulo, ele incrementa o número (de 4 para 5) do arquivo
de regras e não comenta o fato.

Eu também não comentei (e ninguém pareceu se importar) mas no capítulo
2, nos "Further Reading", o link chamado "Mapping Types",
http://docs.python.org/3.1/library/stdtypes.html#mapping-types-dict,
tem um bug no último exemplo (antes do 5.9): a saída do último comando
da sequência não é a que é mostrada.

Já falando de errata, no próximo capítulo (7) tem 3 bugs: o primeiro é
que ele muda o número do arquivo com as regras (de 5 para 6) da classe
LazyRules e não comenta nada a respeito (de novo), o segundo é que ele
não importa o gerador 'build_match_and_apply_functions()' durante a
listagem desta mesma classe (mas ele também não usa este método) e o
terceiro é um ponto faltando no exemplo que brinca com as variáveis de
classe, na saída do último comando depois da definição da tal classe.

Noto também que uns numerosinhos de referência ajudariam
bastante... LazyRules é realmente irônico.

LazyRules (mas não muito --- e nem deveria). :-D

--
rollingbits -- rolli...@gmail.com, rolli...@terra.com.br
luc...@ig.com.br, rolli...@yahoo.com, rolli...@globo.com
Get my public GPG key in http://rollingbits.tripod.com/mykey.html

Leonardo Santagada

unread,
Apr 15, 2013, 11:55:06 PM4/15/13
to garoa-python

2013/4/14 rollingbits (aka Lucas) <rolli...@gmail.com>

Eu também não comentei (e ninguém pareceu se importar) mas no capítulo
2, nos "Further Reading", o link chamado "Mapping Types",
http://docs.python.org/3.1/library/stdtypes.html#mapping-types-dict,
tem um bug no último exemplo (antes do 5.9): a saída do último comando
da sequência não é a que é mostrada.

é sim:

Python 3.3.0 (default, Dec  6 2012, 20:09:45) 
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
>>> keys = dishes.keys()
>>> keys ^ {'sausage', 'juice'}
{'eggs', 'juice', 'bacon', 'spam'}

A sua foi diferente?

--

Leonardo Santagada

rollingbits (aka Lucas)

unread,
Apr 16, 2013, 12:00:40 PM4/16/13
to garoa-...@googlegroups.com
2013/4/16 Leonardo Santagada <sant...@gmail.com>:
Mudando o script da forma como você fez eu também consigo provar
qualquer absurdo.

Leonardo Santagada

unread,
Apr 16, 2013, 1:46:32 PM4/16/13
to garoa-...@googlegroups.com


2013/4/16 rollingbits (aka Lucas) <rolli...@gmail.com>
??? Eu copiei e colei da pagina... qual é o teu problema? 

--

Leonardo Santagada

DQ

unread,
Apr 16, 2013, 2:00:16 PM4/16/13
to garoa-...@googlegroups.com
Sem querer ficar do lado de um ou do outro, abaixo o resultado do teste que eu fiz:

Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

>>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
>>> keys = dishes.keys()
>>> values = dishes.values()
>>> n = 0
>>> for val in values:
    n += val

>>> print(n)
504
>>> list(keys)
['spam', 'bacon', 'sausage', 'eggs']
>>> list(values)
[500, 1, 1, 2]
>>> del dishes['eggs']
>>> del dishes['sausage']
>>> list(keys)
['spam', 'bacon']
>>> keys & {'eggs', 'bacon', 'salad'}
{'bacon'}

>>> keys ^ {'sausage', 'juice'}
{'spam', 'bacon', 'sausage', 'juice'}
>>>

A última resposta é diferente do que está na página:
{'juice', 'eggs', 'bacon', 'spam'}

A diferença em relação ao apresentado pelo Leonardo são as remoções de 'eggs' e 'sausage', feitas no exemplo anterior.

del dishes['eggs']
del dishes['sausage']

DQ

Leonardo Santagada

unread,
Apr 16, 2013, 3:33:31 PM4/16/13
to garoa-...@googlegroups.com

2013/4/16 DQ <d.qu...@yahoo.com>

Sem querer ficar do lado de um ou do outro, abaixo o resultado do teste que eu fiz:

... 
A última resposta é diferente do que está na página:
{'juice', 'eggs', 'bacon', 'spam'}

A diferença em relação ao apresentado pelo Leonardo são as remoções de 'eggs' e 'sausage', feitas no exemplo anterior.

Eu copiei partes porque o lucas não disse qual era o problema. Que eu saiba os exemplos da documentação de python rodam com doctests, e já foi consertado na ultima versão da documentação: http://docs.python.org/3.4/library/stdtypes.html#mapping-types-dict


Valeu dq por dizer o que estava errado.

:)

--

Leonardo Santagada
Reply all
Reply to author
Forward
0 new messages