Regular Expression Puzzles and AI Coding Assistants by David Q. Mertz

Regular Expression Puzzles and AI Coding Assistants by David Q. Mertz

Author:David Q. Mertz [Mertz, David Q.]
Language: eng
Format: epub, pdf
Publisher: Manning Publications Co.
Published: 0101-01-01T00:00:00+00:00


Author thoughts Functions are a big help in larger programs

The truth is, we do not genuinely need regular expressions for either of these support functions. But we do have the opportunity to use them. First let’s transform any ASCII version of a hand into the Unicode version. Along the way, we make sure the hand consists of five valid ASCII cards:

def prettify(hand): assert re.search(r'^([2-9TJQKA][SHDC] ?){5}$', hand) symbols = {'S': '♠', 'H': '♥', 'D': '♦', 'C': '♣'} for let, suit in symbols.items(): hand = re.sub(let, suit, hand) return hand

Sorting uses mostly plain Python techniques. In particular, we can rely on the fact that Python’s sort is stable. This means the order will not change between equivalent elements. Therefore, sorting first by suit, then by number will be guaranteed to have the right overall effect:

def cardsort(hand): def by_num(card): map = {'T':'A', 'J':'B', 'Q':'C', 'K':'D', 'A':'E'} num = card[0] return num if num not in 'AKQJT' else map[num] def by_suit(card): map = {'♣': 1, '♦': 2, '♥': 3, '♠': 4} return map[card[1]] hand = re.split(' ', hand) hand.sort(key=by_suit, reverse=True) hand.sort(key=by_num, reverse=True) return ' '.join(hand)

Combining these:

>>> cardsort(prettify('8C AS 4H KS 2C')) 'A♠ K♠ 8♣ 4♥ 2♣'

We will need more regular expressions in the next few puzzles which continue this poker theme.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Popular ebooks
Whisky: Malt Whiskies of Scotland (Collins Little Books) by dominic roskrow(73934)
What's Done in Darkness by Kayla Perrin(26968)
The Ultimate Python Exercise Book: 700 Practical Exercises for Beginners with Quiz Questions by Copy(20864)
De Souza H. Master the Age of Artificial Intelligences. The Basic Guide...2024 by Unknown(20623)
D:\Jan\FTP\HOL\Work\Alien Breed - Tower Assault CD32 Alien Breed II - The Horror Continues Manual 1.jpg by PDFCreator(20542)
The Fifty Shades Trilogy & Grey by E L James(19472)
Shot Through the Heart: DI Grace Fisher 2 by Isabelle Grey(19390)
Shot Through the Heart by Mercy Celeste(19247)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 10 by Isuna Hasekura and Jyuu Ayakura(17393)
Python GUI Applications using PyQt5 : The hands-on guide to build apps with Python by Verdugo Leire(17366)
Peren F. Statistics for Business and Economics...Essential Formulas 3ed 2025 by Unknown(17198)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 03 by Isuna Hasekura and Jyuu Ayakura & Jyuu Ayakura(17107)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 01 by Isuna Hasekura and Jyuu Ayakura & Jyuu Ayakura(16719)
The Subtle Art of Not Giving a F*ck by Mark Manson(14845)
The 3rd Cycle of the Betrayed Series Collection: Extremely Controversial Historical Thrillers (Betrayed Series Boxed set) by McCray Carolyn(14447)
Stepbrother Stories 2 - 21 Taboo Story Collection (Brother Sister Stepbrother Stepsister Taboo Pseudo Incest Family Virgin Creampie Pregnant Forced Pregnancy Breeding) by Roxi Harding(14240)
Cozy crochet hats: 7 Stylish and Beginner-Friendly Patterns from Baby Beanies to Trendy Bucket Hats by Vanilla Lazy(13514)
Scorched Earth by Nick Kyme(13108)
Reichel W. Numerical methods for Electrical Engineering, Meteorology,...2022 by Unknown(12985)
Drei Generationen auf dem Jakobsweg by Stein Pia(11271)