[Tutor] 42

Adelein and Jeremy adeleinandjeremy at yahoo.com
Fri Jun 11 01:32:01 EDT 2004


--- Gregor Lingl <glingl at aon.at> wrote:
> What is the most convincing way to mimick this in Python?
> 
> #include <stdio.h>
> 
> #define SIX 1 + 5
> #define NINE 8 + 1
> 
> int main(void) {
>   printf("What do you get if you multiply six by nine: %d\n", SIX *
> 	NINE);
>   return 0;
> }
> 

print "What do you get if you multiply six by nine: %d" % 6 * 7

Or, if you absolutely must be silly and define names for digits (and
sillier by using arithmetic to create the digits), the following:

# oops - pretend you don't see that nine is set to 8 - 1
digits = {'six': 5 + 1, 'nine': 8 - 1}
print "What do you get if you multiply six by nine: %d" %
      (digits['six'] * digits['nine'])
# that was magic

I don't think Python can duplicate this specific bug (yes, of course
it's a bug) from C, at least not without using a C extension. I think
that's probably a good thing.

- Jeremy


	
		
__________________________________
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 



More information about the Tutor mailing list