At 01:28 PM 7/12/2008, Michiel Overtoom wrote:
Dick wrote:

> I was hoping to put some sort of explanation of failure in an
> assert statement. But how to do it?
> So I'd like to know what that 'expression' in the syntax can be,
> and how to use it.

I think it would help if you separate the detection of duplicate colors from
the assert statement.

Given the name of the list variable, and the expression "Used a color twice!",
it doesn't seem necessary. But maybe I'm missing something.

It all looks a bit convoluted now, and I'm missing the context in which this
all happens.

Here it is. <http://py77.python.pastebin.com/f342197d>

First detect the presence of duplicate colors in a True/False variable, then
use that variable in an assert.

Oh, and by the way, you don't have to convert a set to list to be able to
take it's length.

I'm glad to know that. Thanks!

  colors=["red","blue","green","blue","yellow","blue"]
  duplicatesfound = len(set(colors)) != len(colors)
  assert not duplicatesfound, "A color has been used more than once"

Exercise left for the reader: Report which colors were used more than once.

For this program, I don't care. But I'll work on it.

And do me a favor, post in plain text, not HTML.

HTML? Please explain.

Dick
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to