Profilo di EL DIABLO

Nome EL DIABLO
Indirizzo email Ade@inferi.com
AvatarAvatar utenti
Messaggi65
  • Re: Verifica vettore
    Forum >> Principianti
    def controlla(lista) :
        if len(lista) < 3 : return True if len(lista) < 2 or lista[1] >= lista[0] else False
        if lista[2] >= sum(lista[: 2]) and lista[1] >= lista[0] : return True if len(lista) == 3 else controlla(lista[1 :])
        return False
    lista = [1, 2, 4, 7, 13, 20, 35]
    print(controlla(lista))
    --- Ultima modifica di EL DIABLO in data 2020-02-16 18:10:47 ---
  • Re: ESERCIZIO RICORSIONE alternata asc/desc
    Forum >> Principianti
    alterna_x2 = alterna_x3 = False
    for x1 in range(1, 4) :
        for x2 in range(1, 4) :
            if alterna_x2 : x2 = 4 - x2
            alterna_x2 = False if alterna_x2 else True
            for x3 in range(1, 4) :
                if alterna_x3 : x3 = 4 - x3
                alterna_x3 = False if alterna_x3 else True
                print(x1, x2, x3)
    --- Ultima modifica di EL DIABLO in data 2020-02-14 21:45:52 ---
  • Re: ESERCIZIO RICORSIONE alternata asc/desc
    Forum >> Principianti
    Molto interessante, vorrei sapere il titolo del libro ed il testo completo dell'esercizio per capire se viene richiesto espressamente di risolverlo con la ricorsione alternata.
  • Re: Aiuto liste!
    Forum >> Principianti
    Questo mi sembra un metodo molto migliore.
  • Re: Problema di assegnazione di un valore casuale ad una variabile
    Forum >> Principianti
    Prego, ma non ti avevo aiutato.
    L'aiuto è questo.


    --- Ultima modifica di EL DIABLO in data 2019-12-21 15:49:39 ---
  • Re: Problema di assegnazione di un valore casuale ad una variabile
    Forum >> Principianti
    \n
  • Re: Programma in .py non risponde
    Forum >> Principianti
    aggiorna()
  • Re: Codifica dei caratteri
    Forum >> Principianti
    Grazie, e sai dirmi se quando si legge e si scrive un file bisogna specificare che la codifica adottata è UTF-8?
    infile = open("input.txt", "r", encoding="utf-8")
    outfile = open("output.txt", "w", encoding="utf-8")


    Oppure il numero intero, assegnato al carattere dalla codifica Unicode, viene automaticamente convertito nella codifica binaria UTF-8 anche senza specificarlo?

    Idle è un editor mediocre, insufficiente per i compiti più basilari


    Per ora mi accontento di idle perché non so un c*.

    Questa finestra che compare all'avvio di ogni programma in idle 3.7 e 3.8 hai idea a cosa serva?
  • Codifica dei caratteri
    Forum >> Principianti
    Ciao, utilizzo IDLE con Python 3.8.0 in linux.
    Ho due dubbi:


    1) Quando si legge e si scrive un file bisogna specificare che la codifica adottata è UTF-8 o lo codifica automaticamente in questo formato?

    2) Perché quando utilizzavo IDLE con Python 3.6.9 non stampava i pittogrammi Unicode tipo questo?

    print(chr(129304))


    L'errore indica che IDLE riconosce solo il set di caratteri codificati universali UCS-2, il quale non supporta caratteri al di fuori del Piano di Base Multilinguistico (000000-00FFFF)

    print(chr(129304))
    UnicodeEncodeError: 'UCS-2' codec can't encode character '\U0001f918' in position 0: Non-BMP character not supported in Tk


    IDLE quindi può rappresentare solo i caratteri da chr(0) a chr(65535).

    Se vado a stamparlo in un file però non dà errore, lo stampa correttamente:

    a = open("output.txt", "w")
    b = (chr(129304))
    a.write(b)
    a.close()
    È possibile stampare i caratteri Non-BMP con IDLE 3.6.9?

    Con IDLE 3.8 invece il carattere viene stampato, però all'esecuzione di ogni programma viene visualizzata sempre questa finestra, in cui è sufficiente cliccare OK e di cui non comprendo il significato.
    In IDLE 3.6 non era presente.

    Grazie in anticipo per la risposta.


    --- Ultima modifica di EL DIABLO in data 2019-12-15 20:14:21 ---
  • Re: QUADRATO MAGICO 3X3
    Forum >> Principianti
    Dovresti spiegare l'algoritmo che usi
    OK

    questa è la matrice:

    i1  i2  i3  i4
    
    i5  i6  i7  i8
    
    i9  i10 i11 i12
    
    i13 i14 i15 i16
    


    Parto dalla casella in alto a sx, annidando di volta in volta i cicli for, e togliendo i numeri già utilizzati dalle liste successive.

    Ogni casella ha la propria lista con il relativo ciclo for.

    Ho inserito le condizioni nei cicli per evitare di farli procedere inutilmente.

    Per esempio:
    if 17 < i9 + i10 + i11 < magicNumber and 17 < i3 + i7 + i11 < magicNumber and 17 < i1 + i6 + i11 < magicNumber :


    arrivati alla casella 11, se la somma dei valori contenuti nelle caselle orizzontali 9, 10, 11 non è compresa tra 18 e 33 è inutile continuare, e lo è anche se la somma di quelle verticali 3, 7, 11 e di quelle diagonali 1, 6, 11 non è compresa tra questi 2 valori.




    Le permutazioni possibili con n oggetti sono pari al fattoriale di n!.

    Con una matrice 4 x 4 sono possibili 16! permutazioni, cioè circa 21 mila miliardi.

    Inserendo le condizioni nei cicli for ho risparmiato parecchie miliardi di iterazioni.

    se invece ti chiedessi di generare tutti i quadrati 5x5, dovresti scrivere daccapo un nuovo codice


    Esatto, devo utilizzare 25 cicli for annidati, ma con il nostro computer non riusciremo a visualizzarli tutti in tempi brevi perché se ne formano 275305224 unici, più le rotazioni e le simmetrie di questi, quindi il numero cresce parecchio.

    Ho visto ora, facendo una ricerca, che la somma dei numeri interni dei quadrati magici 6x6 è pari a 666, numero "diabolico" per eccellenza, quindi probabilmente non è un caso che abbia postato l'emoticon del diavolo precedentemente. Il numero totale di questi dovrebbe essere circa 17 miliardi di miliardi più rotazioni e riflessioni, non so se è stato calcolato.

    Non è stata ancora trovata una regola che consenta di determinare il numero di quadrati magici di un dato ordine.
    Mi chiedo perché tu l'abbia postato

    è colpa del diavolo


    --- Ultima modifica di EL DIABLO in data 2019-12-13 23:47:28 ---