[Python] Stampare testo barrato

Esalando Prassi alessandro.pisa a katamail.com
Lun 30 Gen 2017 18:58:26 CET


2017-01-30 17:14 GMT+01:00 Alessandro T. <tagliare3 a yahoo.it>:
> On 30/01/2017 16:36, Esalando Prassi wrote:
>> 2017-01-30 16:12 GMT+01:00 Alessandro T. <tagliare3 a yahoo.it>:
>>> Ciao a tutti,
>>>
>>> esiste un modo semplice per scrivere del testo barrato sul terminale?
>>> Ho provato combinando i caratteri con u+0336,  ma il risultato non è
>>> soddisfacente (almeno sul mio terminale):
>>>
>>> print('1\u03362')
>>> # 12 con il 2 barrato - ok
>>> print(' \u03362')
>>> # <spazio>2 con il 2 barrato - ok
>>> print('\u03362')
>>> # 2 - non va bene
>>>
>>> Suggerimenti?
>>>
>> Probabilmente c'e' di meglio, ma se sei alla frutta...
>>
>>>>> print('\u0336'.join('barrato')+'\u0336')
>> b̶a̶r̶r̶a̶t̶o̶
>>
>> Ciao!
>
> Ciao, è proprio da dove sono partito, ma per semplificare al massimo ho
> tolto la join() e usato due caratteri.
> La rappresentazione della stringa, in modalità interattiva, è corretta
> ma poi la print() ...
>
> L'unica soluzione che ho trovato, ma non soddisfacente, è d'anteporre
> uno spazio.
>
> Grazie comunque
>

Boh, non credo di aver capito bene cosa non funzioni quello che ti ho
proposto.

Ad ogni modo, puo' esserti utile fare un salto su SO:

-
http://stackoverflow.com/questions/25244454/python-create-strikethrough-strikeout-overstrike-string-type

Li' ho trovato questa:

from itertools import repeat, chain
''.join(chain.from_iterable(zip(text, repeat('\u0336'))))

Ciao
-- 
http://alepisa.blogspot.com
Esalando Prassi
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20170130/b4f6d5a5/attachment.html>


Maggiori informazioni sulla lista Python