Na jednom z předchozích srazů jsme napsaly
funkci popis_karty, která vypadala zhruba
takhle:
def popis_karty(karta):
hodnota, barva, licem_nahoru = karta
if not licem_nahoru:
return '[???]'
if hodnota == 1:
znak_hodnoty = 'A'
elif hodnota == 10:
znak_hodnoty = 'X'
elif hodnota == 11:
znak_hodnoty = 'J'
elif hodnota == 12:
znak_hodnoty = 'Q'
elif hodnota == 13:
znak_hodnoty = 'K'
else:
znak_hodnoty = str(hodnota)
if barva == 'Pi':
znak_barvy = '♠ '
elif barva == 'Sr':
znak_barvy = ' ♥'
elif barva == 'Ka':
znak_barvy = ' ♦'
elif barva == 'Kr':
znak_barvy = '♣ '
return '[{}{}]'.format(znak_hodnoty, znak_barvy)
Teď, když známe slovníky, můžeme tuhle funkci výrazně zjednodušit pomocí vyhledávacích tabulek.
if not licem_nahoru:.
def popis_karty(karta):
hodnota, barva, licem_nahoru = karta
if not licem_nahoru:
return '[???]'
barvy = {'Pi': '♠ ', 'Sr': ' ♥', 'Ka': ' ♦', 'Kr':'♣ '}
znak_barvy = barvy[barva]
hodnoty = {1: 'A', 10: 'X', 11: 'J', 12: 'Q', 13: 'K'}
znak_hodnoty = hodnoty.get(hodnota, str(hodnota))
return '[{}{}]'.format(znak_hodnoty, znak_barvy)