Ciao

Il bello della programmazione è che le cose si possono affrontare in mille modi diversi, ovviamente su di un codice in corso di definizione non è bene dare "pareri", anche se, a dire il vero, non mi garbano molto due "while True" annidati.
... Per altro, guardando il Tuo codice mi è venuta in mente una possibile variante che magari potrebbe essere usata, rivoluzionerebbe, però, il codice steso, mi riferisco alla definizione del mazzo, ove magari userei una lista di dizionari, una cosa così :
>>> mazzo = []
>>> semi = ['Coppe', 'Denari', 'Mazze', 'Spade']
>>> nomi = ['Asso', 'due', 'tre', 'quattro', 'cinque',
'sei', 'sette', 'Fante', 'Cavallo', 'Re']
>>> for seme in semi:
for voce in enumerate(nomi, start=1):
carta = {}
carta['seme'] = seme
carta['nome'] = voce[1]
if voce[0] in [8, 9, 10]:
carta['val'] = 0.5
else:
carta['val'] = float(voce[0])
mazzo.append(carta)
>>> print(len(mazzo))
40
>>> print(mazzo)
[{'seme': 'Coppe', 'nome': 'Asso', 'val': 1.0}, {'seme': 'Coppe', 'nome': 'due', 'val': 2.0}, {'seme': 'Coppe', ...
l'utilizzo di un dizionario, magari, permetterebbe di risparmiare un po' di cicli, contenendo la carta stessa il suo valore, limitandosi a riassegnare il valore della "matta" a quello scelto dal giocatore, potrebbe, forse, anche facilitare i processi di rappresentazione, una cosa così :
>>> import random
>>> random.shuffle(mazzo)
>>> print(mazzo[0])
{'seme': 'Mazze', 'nome': 'due', 'val': 2.0}
>>> def dai_carta():
global mazzo
return mazzo.pop(0) if len(mazzo) else None
>>> carta = dai_carta()
>>> carta
{'seme': 'Mazze', 'nome': 'due', 'val': 2.0}
>>> carta = dai_carta()
>>> carta
{'seme': 'Coppe', 'nome': 'Re', 'val': 0.5}
>>> len(mazzo)
38
>>> print('%s di %s, valore = %.1f' % (carta['nome'], carta['seme'], carta['val']))
Re di Coppe, valore = 0.5
>>>
Sarebbe, anche, più semplice, con un dizionario, associare alla "carta" i valori per l'eventuale "immagine", siano essi i caratteri indicati da @RicPol od anche dei riferimenti a file.
... è solo un suggerimento di approccio diversificato che mi è venuto li, tieni presente (e scusa se uso il tipo "Napoletane", con cui ho familiarità) consideralo solo come una possibile via da esplorare
