Mark, I have the first edition of your book. What is the difference between two editions?
2009/12/2 <tutor-requ...@python.org>: > Send Tutor mailing list submissions to > tu...@python.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://mail.python.org/mailman/listinfo/tutor > or, via email, send a message with subject or body 'help' to > tutor-requ...@python.org > > You can reach the person managing the list at > tutor-ow...@python.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Tutor digest..." > > > Today's Topics: > > 1. Fwd: Moving from Python 2 to Python 3: A 4 page "cheat sheet" > (Kent Johnson) > 2. Re: Moving from Python 2 to Python 3: A 4 page "cheatsheet" > (Alan Gauld) > 3. pygame help with livewires (Skylar Struble) > 4. Re: Moving from Python 2 to Python 3: A 4 page "cheatsheet" > (Kent Johnson) > 5. Re: Moving from Python 2 to Python 3: A 4 page "cheatsheet" > (Joerg Woelke) > 6. Re: Moving from Python 2 to Python 3: A 4 page "cheatsheet" > (Wayne Werner) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 2 Dec 2009 07:29:10 -0500 > From: Kent Johnson <ken...@tds.net> > To: "*tutor python" <tutor@python.org> > Subject: [Tutor] Fwd: Moving from Python 2 to Python 3: A 4 page > "cheat sheet" > Message-ID: > <1c2a2c590912020429k247b4fe1gca44c5b9839c2...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > Forwarded from python-announce. A helpful summary of the differences > between Python 2 and 3 (though some of the differences were introduced > well before Python 3). > > Kent > > ---------- Forwarded message ---------- > From:?Mark Summerfield <l...@qtrac.plus.com> > To:?comp-lang-python-annou...@moderators.isc.org > Date:?Tue, 1 Dec 2009 06:05:09 -0800 (PST) > Subject:?Moving from Python 2 to Python 3: A 4 page "cheat sheet" > I've produced a 4 page document that provides a very concise summary > of Python 2<->3 differences plus the most commonly used new Python 3 > features. It is aimed at existing Python 2 programmers who want to > start writing Python 3 programs and want to use Python 3 idioms rather > than those from Python 2 where the idioms differ. > > It uses Python 3.1 syntax since that looks like being the standard for > a few years in view of the language moratorium. > > The document is U.S. Letter size but will also print fine on A4 > printers. > > It is available as a free PDF download (no registration or anything) > from InformIT's website. Here's the direct link: > http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/promotions/python/python2python3.pdf > > And of course, if you want more on Python 3, there's always the > documentation---or my book:-) > "Programming in Python 3 (Second Edition)" ISBN-10: 0321680561. > -- > Mark Summerfield, www.qtrac.eu > > > ------------------------------ > > Message: 2 > Date: Wed, 2 Dec 2009 13:56:05 -0000 > From: "Alan Gauld" <alan.ga...@btinternet.com> > To: tutor@python.org > Subject: Re: [Tutor] Moving from Python 2 to Python 3: A 4 page > "cheatsheet" > Message-ID: <hf5rls$bq...@ger.gmane.org> > Content-Type: text/plain; format=flowed; charset="iso-8859-1"; > reply-type=original > > > "Kent Johnson" <ken...@tds.net> wrote > >> Forwarded from python-announce. A helpful summary of the differences >> between Python 2 and 3 (though some of the differences were introduced >> well before Python 3). > >> It is available as a free PDF download (no registration or anything) >> from InformIT's website. Here's the direct link: >> http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/promotions/python/python2python3.pdf > > > It didn't work for me I always got forwarded to the Book "home page" on > InformIT > > Alan G > > > > > ------------------------------ > > Message: 3 > Date: Wed, 2 Dec 2009 09:38:53 -0500 > From: Skylar Struble <skylarstru...@gmail.com> > To: tutor@python.org > Subject: [Tutor] pygame help with livewires > Message-ID: > <664a3e4c0912020638i69a8aabfofb4ea44b59169...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > ok so its working and drops a normal cow and randomly a green cow but > i want it to be able to tell when you collide with the green cow cause > its gonna be a powerup. > > heres the code for my program. > > # Pizza Panic > # Player must catch falling pizzas before they hit the ground > > from livewires import games, color > import random > hscorefile = open("hscores.txt", 'r') > score = 0 > level = 1 > pizzascore = 2 > stl = 15 > lstl = 15 > pizza_speed = 1 > cook_speed = 4 > pizza_drop = 0.5 > level_up_drop = 1 > highscore = int(hscorefile.read(100000000)) > hscorefile.close() > games.init(screen_width = 640, screen_height = 480, fps = 50) > > class Pan(games.Sprite): > """ > A pan controlled by player to catch falling pizzas. > """ > global score > image = games.load_image("pan.bmp") > > def __init__(self): > """ Initialize Pan object and create Text object for score. """ > global level > global hs > global score > super(Pan, self).__init__(image = Pan.image, x = > games.mouse.x, bottom = games.screen.height) > > self.score = games.Text(value = 0, size = 25, color = color.black, > top = 5, right = games.screen.width - 10) > games.screen.add(self.score) > self.leveltxt = games.Text(value = "level:", size = 25, color > = color.black, > top = 5, right = games.screen.width - 580) > games.screen.add(self.leveltxt) > self.level = games.Text(value = level, size = 25, color = color.black, > top = 5, right = games.screen.width - 566) > games.screen.add(self.level) > self.hs = games.Text(value = "Highscore:" + str(highscore), > size = 25, color = color.black, > top = 5, right = games.screen.width - 320) > games.screen.add(self.hs) > > def update(self): > """ Move to mouse x position. """ > self.x = games.mouse.x > > if self.left < 0: > self.left = 0 > > if self.right > games.screen.width: > self.right = games.screen.width > > self.check_catch() > > def check_catch(self): > """ Check if catch pizzas. """ > global pizza_drop > global level > global score > global score_to_level > global cook_speed > global pizza_speed > global stl > global lstl > global pizzascore > stl = (lstl *2.5) > for pizza in self.overlapping_sprites: > self.score.value = self.score.value + pizzascore > score = self.score.value > if self.score.value >= stl: > lstl = stl > pizza_drop += 0.2 > self.level.value += 1 > pizza_speed += .25 > pizzascore = pizzascore * 2 > cook_speed += 5 > level = level + 1 > lvlup_message = games.Message(value = "Level " + str(level), > size = 90, > color = color.red, > x = games.screen.width/2, > y = games.screen.height/2, > lifetime = 2 * games.screen.fps) > games.screen.add(lvlup_message) > self.score.right = games.screen.width - 10 > pizza.handle_caught() > class Pizza(games.Sprite): > """ > A pizza which falls to the ground. > """ > global pizza_speed > speed = 1.5 > image = games.load_image("pizza.bmp") > > def __init__(self, x, y = 90): > """ Initialize a Pizza object. """ > super(Pizza, self).__init__(image = Pizza.image, > x = x, y = y, > dy = pizza_speed) > > def update(self): > """ Check if bottom edge has reached screen bottom. """ > if self.bottom > games.screen.height: > self.end_game() > self.destroy() > > def handle_caught(self): > """ Destroy self if caught. """ > self.destroy() > > def end_game(self): > global highscore > global score > global name > """ End the game. """ > if score > highscore: > hsfile = open("hscores.txt", "w") > hsfile.write(str(score)) > hsfile.close() > hs_message = games.Message(value ="New highscore of " + str(score), > size = 45, > color = color.red, > x = games.screen.width/2, > y = games.screen.height/2, > lifetime = 1 * games.screen.fps, > after_death = games.screen.quit) > games.screen.add(hs_message) > else: > end_message = games.Message(value = "game over", > size = 45, > color = color.red, > x = games.screen.width/2, > y = games.screen.height/2, > lifetime = 0 * games.screen.fps, > after_death = games.screen.quit) > games.screen.add(end_message) > > > class power_pizza1(games.Sprite): > """ > A pizza which falls to the ground. > """ > global pizza_speed > speed = 1.5 > image = games.load_image("power_pizza1.bmp") > > def __init__(self, x, y = 90): > """ Initialize a Pizza object. """ > super(power_pizza1, self).__init__(image = power_pizza1.image, > x = x, y = y, dy = pizza_speed) > > > def update(self): > """ Check if bottom edge has reached screen bottom. """ > if self.bottom > games.screen.height: > self.destroy() > > def handle_caught(self): > """ Destroy self if caught. """ > self.destroy() > class Chef(games.Sprite): > """ > A chef which moves left and right, dropping pizzas. > """ > global cook_speed > image = games.load_image("chef.bmp") > > def __init__(self, y = 55, speed = 1000, odds_change = 55): > """ Initialize the Chef object. """ > super(Chef, self).__init__(image = Chef.image, > x = games.screen.width / 2, > y = y, > dx = cook_speed) > > self.odds_change = odds_change > self.time_til_drop = 0 > > > def update(self): > """ Determine if direction needs to be reversed. """ > if self.left < 0 or self.right > games.screen.width: > self.dx = -self.dx > elif random.randrange(self.odds_change) == 0: > self.dx = -self.dx > > self.check_drop() > > > def check_drop(self): > rpp = 5 > """ Decrease countdown or drop pizza and reset countdown. """ > global pizza_drop > if self.time_til_drop > 0: > self.time_til_drop -= pizza_drop > else: > new_pizza = Pizza(x = random.randrange(40, 600)) > rpp = random.randrange(1, 5) > if rpp == 3: > power_pizza = power_pizza1 (x = random.randrange(40, 600)) > games.screen.add(power_pizza) > else: > games.screen.add(new_pizza) > > # set buffer to approx 30% of pizza height, regardless of > pizza speed > self.time_til_drop = int(new_pizza.height * 1.3 / Pizza.speed) + 1 > > > def main(): > """ Play the game. """ > wall_image = games.load_image("wall.jpg", transparent = False) > games.screen.background = wall_image > > the_chef = Chef() > games.screen.add(the_chef) > > the_pan = Pan() > games.screen.add(the_pan) > > games.mouse.is_visible = False > > games.screen.event_grab = True > games.screen.mainloop() > > # start it up! > main() > > > ------------------------------ > > Message: 4 > Date: Wed, 2 Dec 2009 10:13:25 -0500 > From: Kent Johnson <ken...@tds.net> > To: Alan Gauld <alan.ga...@btinternet.com> > Cc: tutor@python.org > Subject: Re: [Tutor] Moving from Python 2 to Python 3: A 4 page > "cheatsheet" > Message-ID: > <1c2a2c590912020713l72b85952ka4d5b8f3d1e2a...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > On Wed, Dec 2, 2009 at 8:56 AM, Alan Gauld <alan.ga...@btinternet.com> wrote: >> >> "Kent Johnson" <ken...@tds.net> wrote >> >>> Forwarded from python-announce. A helpful summary of the differences >>> between Python 2 and 3 (though some of the differences were introduced >>> well before Python 3). >> >>> It is available as a free PDF download (no registration or anything) >>> from InformIT's website. Here's the direct link: >>> >>> http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/promotions/python/python2python3.pdf >> >> >> It didn't work for me I always got forwarded to the Book "home page" on >> InformIT > > Strange. Worked for me yesterday and again just now. > > Kent > > > ------------------------------ > > Message: 5 > Date: Wed, 2 Dec 2009 15:13:20 +0100 > From: Joerg Woelke <joe...@fsmail.de> > To: tutor@python.org > Subject: Re: [Tutor] Moving from Python 2 to Python 3: A 4 page > "cheatsheet" > Message-ID: <20091202141320.gc9...@localhost> > Content-Type: text/plain; charset=us-ascii > > * Alan Gauld <alan.ga...@btinternet.com> [091202 15:07]: >> >http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/promotions/python/python2python3.pdf >> >> >> It didn't work for me I always got forwarded to the Book "home page" >> on InformIT > Worked for me with wget(1). > > -- > You are capable of planning your future. > > > ------------------------------ > > Message: 6 > Date: Wed, 2 Dec 2009 09:26:08 -0600 > From: Wayne Werner <waynejwer...@gmail.com> > To: Joerg Woelke <joe...@fsmail.de> > Cc: tutor@python.org > Subject: Re: [Tutor] Moving from Python 2 to Python 3: A 4 page > "cheatsheet" > Message-ID: > <333efb450912020726x22cffc60q6b911387dc13a...@mail.gmail.com> > Content-Type: text/plain; charset="windows-1252" > > On Wed, Dec 2, 2009 at 8:13 AM, Joerg Woelke <joe...@fsmail.de> wrote: > >> Alan Gauld <alan.ga...@btinternet.com> [091202 15:07]: >> > > >> http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/promotions/python/python2python3.pdf >> > >> > >> > It didn't work for me I always got forwarded to the Book "home page" >> > on InformIT >> Worked for me with wget(1). >> > > > And for me with Google Chrome on Ubuntu... > -Wayne > -- > To be considered stupid and to be told so is more painful than being called > gluttonous, mendacious, violent, lascivious, lazy, cowardly: every weakness, > every vice, has found its defenders, its rhetoric, its ennoblement and > exaltation, but stupidity hasn?t. - Primo Levi > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > <http://mail.python.org/pipermail/tutor/attachments/20091202/f33c0b0b/attachment.htm> > > ------------------------------ > > _______________________________________________ > Tutor maillist - tu...@python.org > http://mail.python.org/mailman/listinfo/tutor > > > End of Tutor Digest, Vol 70, Issue 5 > ************************************ > -- Regards, Aivars Enkuzens _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor