«[Figlio dell'uomo] Porgi l'orecchio e ascolta le parole di KGB
e applica la tua mente alla SUA istruzione
» Pv. 22,17

Qui si straparla di vari argomenti:
1. Il genere dei pezzi è segnalato da varie immagini, vedi Legenda
2. Per contattarmi e istruzioni per i nuovi lettori (occasionali e non) qui
3. L'ultimo corto è questo
4. Molti articoli di questo blog fanno riferimento a definizioni e concetti che ho enunciato nella mia Epitome gratuitamente scaricabile QUI. Tali riferimenti sono identificati da una “E” fra parentesi quadre e uno o più capitoli. Per esempio: ([E] 5.1 e 5.4)

martedì 3 settembre 2019

Ditonzoli

Ieri ho ripreso in mano la chitarra dopo una decina di mesi di pausa. Non ricordo se ho scritto perché avevo interrotto lo studio ma i motivi sono sostanzialmente due: quello ufficiale è che il programma “Guitar Pro” che mi ero fatto regalare per il mio compleanno un paio di anni fa non era più compatibile con Mint 19.1.
In effetti sembra più una grossa seccatura piuttosto che una ragione per smettere di suonare ma probabilmente, e questo è il secondo motivo, mi era venuto un rifiuto inconscio: lo sforzo di volontà per allenarmi mi era evidentemente costato troppo e così avevo afferrato la prima scusa utile per prendermi questa lunga pausa…

Oggi mi sono esercitato sugli accordi: alcuni, anche banali, non li ricardavo più ma fortunatamente le mie dita sì! Buffo…
Il Dm proprio non me lo ricordavo ma quando l’ho dovuto suonare le dita l’hanno trovato automaticamente!

Eteria++ - 4/9/2019
Ho da poco pubblicato Eteria? e mi sono reso conto di aver dimenticato di accennare a un passaggio di Freud, letto ieri sera, che ricorda la mia teoria.
Ovviamente così non ho scritto del mio stupore per la coincidenza, sottili distinguo, commentino su Freud etc...: ormai mi conoscete...

Flop Di Maio - 4/9/2019
Lunedì (v. Aggiornamento lunedìesco) avevo avuto un rigurgito di speranza: ogni logica politica indicava che Di Maio avrebbe dovuto prendere le distanze dal governo e chiamarsi fuori dal M5S. Probabilmente il governo si sarebbe formato lo stesso ma sarebbe stato ancora più debole di adesso.
Invece tutti i suoi commenti suonano di resa incondizionata: non ha posto nessun paletto precondizione politica per poi poter puntare i piedi...

Il problema della mia previsione è stato… Di Maio!
Da una parte Di Maio non ha seguito la logica politica, da un’altra (temo) gli è mancato il coraggio di fare ciò che avrebbe dovuto fare e, infine, non bisogna dimenticare che populismo ambizioso (ricerca del bene per sé) non significa populismo reale (ricerca del bene per la nazione): in altre parole non è da escludere che gli sia stata offerta qualche garanzia di sopravvivenza politica o comunque di potere e che lui l’abbia accettata…

Insomma è da un po’ che non aggiorno le mie previsioni ma al momento direi che il governicchio del presidente con Di Maio è all’80% circa: l’ipotesi peggiore per l’Italia.
Da vedere con quanti voti il governo otterrà la fiducia: questo ci darà un'idea della sua solidità.

Informazione (veramente) inutile - 7/9/2019
La mia nuova pasta preferita sono i “sedanini rigati”.

Nota: “Pasta” è una sineddoche per “paste”… o magari è un’abbreviazione di “pastasciutta”?

Correzione - 10/9/2019
Stanotte verso le 5:00 mi sono svegliato e ho iniziato a pensare al piccolo baco nel codice che avevo presentato ieri (v. Nomi di paesi toscani).
Così oggi ci ho rimesso le mani e ho corretto il problema. Già che c’ero ho anche fatto la piccola modifica che mi ha permesso di semplificare il programma.

1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import random
import string

class Elemento():
    def __init__(self, nome):
        self.nome=nome
        self.primo=nome[:1]
        self.seguiti=[]
        self.totSeguiti=0
    def __str__(self):
        return self.nome

def parsa2(p):
    primo=""
    secon=""
    for cc in parsa(p):
        if primo=="":
            primo=cc
            continue
        secondo=cc
        yield primo, secondo
        primo=secondo            

def parsa(p):
    flag=False
    for i in range(0, len(p)):
        if p[i]=="*":
            flag=True
            blocco=""
            continue
        if flag:
            if p[i]==" " or p[i]==".":
                flag=False
                yield blocco
                yield p[i]
            else:
                blocco=blocco+p[i]
                continue
        else:
            yield p[i]
    if flag:
        yield blocco

inizio=Elemento("VIA")
base=[inizio]

with open("ListaPaesi.txt") as f:
    content3 = f.readlines()
lista_paesi=[l.rstrip('\n').upper()+"." for l in content3]

for paese in lista_paesi:
    corr=inizio
    for uno, due in parsa2(paese):
        codice=uno+due
        val=list(filter(lambda x: x.nome==codice , base))
        if len(val)==0:
            nuovo=Elemento(codice)
            nuovo.primo=uno
            base.append(nuovo)
            corr.seguiti.append((nuovo,1))
            corr.totSeguiti=corr.totSeguiti+1
        else:
            valseg=list(filter(lambda x: x[0].nome==codice , corr.seguiti))
            if len(valseg)==0:
                nuovo=val.pop()
                corr.seguiti.append((nuovo,1))
                corr.totSeguiti=corr.totSeguiti+1
            else:
                pa, nu =valseg.pop()
                corr.totSeguiti=corr.totSeguiti+1
                corr.seguiti.remove((pa, nu))
                corr.seguiti.append((pa, nu+1))
                nuovo=pa
        corr=nuovo

def genera():
    corr=inizio
    while corr.totSeguiti>0:
        num=random.randint(1,corr.totSeguiti)
        for ele in corr.seguiti:
            num=num-ele[1]
            if num<=0:
                par=ele[0].primo
                print(par,end="")
                corr=ele[0]
                break
    print()

for i in range(1,30):
    genera()

La piccola modifica che mi ha permesso la semplificazione del codice è l’aggiunta del punto (“.”) alla linea 49.
Correggere l’errore è stato più complicato soprattutto perché volevo fare modifiche minime: alla fine me la sono cavata aggiungendo il campo “primo” all’oggetto Elemento. Questo mi ha permesso ulteriori semplificazioni in fase di stampa del nuovo nome...

Nessun commento:

Posta un commento