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