Accademia:Log 2011 02 09

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(09:34:39 PM) risca: allora, ritardatari a parte, PARTIAMO?
(09:34:45 PM) pinolo: ok
(09:34:50 PM) nodo: però in python è meglio fare prima il while
(09:34:58 PM) |Wolf|: perché?
(09:34:59 PM) nodo: non so se hai presente il for come è fatto XD
(09:35:09 PM) risca: giusta osservazione
(09:35:15 PM) fiox [~fiox@Azzurra=1E1B72F7.11-87-r.retail.telecomitalia.it] entered the room.
(09:35:22 PM) fiox: sera
(09:35:25 PM) risca: allora per prima cosa ognuno si apra la sua shell di python3
(09:35:28 PM) nodo: ciao fiox 
(09:35:30 PM) risca: ciao fiox
(09:35:40 PM) amosse [~Mibbit@95.235.Azzurra=2D17092F] entered the room.
(09:35:40 PM) Ernestus: ciao fiox 
(09:35:41 PM) fiox: vorrei seguirvi ma al momento non posso
(09:35:46 PM) |Wolf|: cmq if for e while si spiegano molto bene con i diagrammi di flusso
(09:36:01 PM) fiox: leggerò i log quando ho tempo però :D
(09:36:15 PM) risca: fiox: la chat ed il materiale prodotto sarà messo su http://guide.debianizzati.org/index.php/Accademia:Python_3
(09:36:20 PM) fiox: perfetto
(09:36:26 PM) Ernestus: risca il terminale condiviso?
(09:36:45 PM) risca: purtroppo non ancora per questa volta siccome ho avuto parecchio da fare con il wiki
(09:36:59 PM) risca: inizierei con il riprendere quanto svolto la scorsa volta, ok?
(09:37:06 PM) nodo: ok
(09:37:07 PM) pinolo: ok
(09:37:13 PM) Ernestus: ti sei fatto un mazzo!! potevo aiutarti io così prendevo familiarità col wiki
(09:37:13 PM) risca: COSA VI RICORDATE, NON VI TORNA CHIARO?
(09:37:40 PM) Ernestus: ho una domanda riguardo a un argomento in preparazione di oggi
(09:37:44 PM) pinolo: io avrei una domanda
(09:37:54 PM) risca: dimmi
(09:38:05 PM) pinolo: vai ernestus, tanto la mia riguarda un altra cosa
(09:38:27 PM) Ernestus: che cambia tra Integer Division e Remainder (modulo(
(09:38:30 PM) Ernestus: ?
(09:39:21 PM) risca: hai qualche esempio sotto mano?
(09:39:24 PM) Ernestus: preso da qua http://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3/Hello,_World
(09:39:27 PM) Ernestus: nella tabella
(09:39:28 PM) pinolo: l'integer division è la divisione senza resto
(09:39:35 PM) pinolo: divisione per interi
(09:39:51 PM) risca: giusto
(09:39:55 PM) pinolo: 9 / 2 = 4
(09:39:59 PM) pinolo: giusto?
(09:40:04 PM) risca: perfetto
(09:40:05 PM) |Wolf|: come si faceva alle elementari, 9/2 = 4 caon il resto di uno
(09:40:11 PM) risca: basta provare da shell
(09:40:13 PM) |Wolf|: caon?
(09:40:18 PM) |Wolf|: con*
(09:40:30 PM) risca: >>> 17//4
(09:40:30 PM) risca: 4
(09:40:35 PM) |Wolf|: invece alle medie 9 / 2 = 4.5
(09:40:44 PM) risca: >>> 17//4
(09:40:44 PM) risca: 4
(09:40:48 PM) Ernestus: perchè risca 
(09:40:51 PM) risca: >>> 18//4
(09:40:51 PM) risca: 4
(09:41:13 PM) Ernestus: sarebbe una radice senza resto?
(09:41:18 PM) pinolo: si ma la divisione per interi non può avere cifre decimali
(09:41:19 PM) risca: è la divisione senza considerare la parte decimale
(09:41:28 PM) pinolo: è appunto una divisione per interi
(09:41:39 PM) risca: il reminder invece è l'esatto opposto
(09:41:46 PM) risca: indica quanto è il resto
(09:41:53 PM) pinolo: ok
(09:42:02 PM) risca: ad esempio:
(09:42:03 PM) risca: >>> 18%4
(09:42:03 PM) risca: 2
(09:42:13 PM) risca: infatti il resto è proprio 2
(09:42:22 PM) Ernestus: capito, grazie
(09:42:37 PM) risca: questo mi ha dato una bellissima idea
(09:42:44 PM) |Wolf|: divmod?
(09:42:49 PM) pinolo: io avrei un altra domanda ma non riguarda le variabili
(09:42:59 PM) nodo: scusate io devo scappare :( mi dispiace, un imprevisto, leggerò sicuramente i log
(09:43:00 PM) nodo: bb
(09:43:10 PM) pinolo: ciao nodo
(09:43:12 PM) risca: ok, alla prossima nodo
(09:43:27 PM) Ernestus: ciao nodo 
(09:43:36 PM) nodo left the room (quit: Quit: http://www.mibbit.com ajax IRC Client).
(09:43:43 PM) risca: pinolo e |Wolf|, quali sono le vostre domande, prima di dimenticarcele...
(09:44:17 PM) pinolo: lo sha-bang che noi inseriamo ad ogni inizio script, per noi che utilizziamo linux è in un modo, ma per gli utenti windows o mac andrà cambiato?
(09:44:44 PM) risca: sì, la sha-bang è del mondo *nix
(09:44:48 PM) |Wolf|: viene semplicemente ignorato dagli altri
(09:44:53 PM) |Wolf|: è visto come commento
(09:45:14 PM) risca: per gli altri OS funziona in modo diverso, penso che W$ guardi all'estensione
(09:45:15 PM) |Wolf|: io cmq in genere non lo metto
(09:45:28 PM) |Wolf|: eseguo gli script direttamente con python script.py
(09:45:37 PM) pinolo: quindi il suo utilizzo principale qual'è?
(09:45:41 PM) risca: la sha-bang viene usate ad esempio anche per script di bash
(09:45:50 PM) risca: #!/bin/bash
(09:46:02 PM) risca: è per avere uno script autoeseguibile
(09:46:12 PM) risca: altrimenti deve essere invocato con il programma
(09:46:13 PM) pinolo: ok
(09:46:17 PM) risca: che lo esegue
(09:46:25 PM) risca: _____________________________________________________________________________-
(09:46:25 PM) pinolo: perfetto
(09:46:27 PM) |Wolf|: cmq ci sono diversi shebang che si possono usare, e gente che litiga da anni per decidere il migliore
(09:46:37 PM) |Wolf|: per quello preferisco evitare
(09:46:45 PM) risca: vi ricordate di quando eravate alle elementari?
(09:46:55 PM) pinolo: sì
(09:47:00 PM) Ernestus: si...
(09:47:01 PM) pinolo: all'incirca
(09:47:23 PM) risca: la maestra diceva: scivi un numero x e y, quante volta y sta in x e con quale resto?
(09:47:23 PM) pinolo: sono passati diversi anni
(09:47:29 PM) risca: scrivi*
(09:47:52 PM) risca: bene, proviamo a fare uno script che ci permetta proprio di rispondere a quella domanda
(09:47:54 PM) risca: ok?
(09:48:12 PM) pinolo: ok
(09:48:49 PM) risca: allora tenetevi aperto sul browser anche il seguente link: http://openetherpad.org/O39OAgcU0I
(09:48:56 PM) risca: voi da cosa iniziareste?
(09:50:33 PM) risca: io direi che per prima cosa dovremmo definire (giusto amosse) la variabili x e y
(09:50:50 PM) pinolo: potremmo farle inserire dall'utente
(09:50:56 PM) risca: perfetto!
(09:51:02 PM) risca: come?
(09:51:10 PM) risca: modifica tu pinolo
(09:51:52 PM) |Wolf|: ogni programma si divide in genere in 3 parti: input, elaborazione, output
(09:51:58 PM) JumX [~Mibbit@Azzurra=3615CD96.41-79-r.retail.telecomitalia.it] entered the room.
(09:52:16 PM) JumX: Buonasera a tutti .. scusate per il ritardo
(09:52:17 PM) |Wolf|: nella parte di input dei dati vengono inseriti, dall'utente, leggendoli da un file, dalla rete, da un db o da altrove
(09:52:22 PM) risca: ecco, permettetemi una osservazione: siamo alle elementari, quindi si lavora esclusivamente su interi!
(09:52:30 PM) |Wolf|: poi vengono elaborati per ottenere un risultato
(09:52:42 PM) risca: chi modifica la variabile scritta da pinolo per avere un intero?
(09:52:44 PM) Ernestus: float cosa significa?
(09:52:51 PM) |Wolf|: che poi nella fase di output viene restituito, quindi printato a schermo, salvato su un file, inviato sulla rete, salvato in un db
(09:52:59 PM) |Wolf|: float -> numero con la virgola
(09:53:03 PM) risca: floatTANTE, che ha la virgola
(09:53:11 PM) groll: JumX: http://openetherpad.org/O39OAgcU0I
(09:53:27 PM) JumX: grazie
(09:54:06 PM) pinolo: ok?
(09:54:12 PM) risca: allora cosa deve essere usato al posto di FLOAT, dato che non vogliamo la virgola?
(09:54:20 PM) pinolo: ho modificato
(09:54:42 PM) Ernestus: int
(09:54:44 PM) Ernestus: ?
(09:54:47 PM) risca: scusa ho fatto io il danno
(09:54:47 PM) pinolo: no
(09:54:49 PM) risca: giusto int
(09:55:02 PM) pinolo: ok ok riscrivi tu? =)
(09:55:07 PM) risca: ok
(09:55:40 PM) pinolo: come si chiama?
(09:55:43 PM) pinolo: dividendo?
(09:55:55 PM) risca: penso di sì
(09:56:21 PM) |Wolf|: mi sa che devo andare
(09:56:26 PM) risca: direi che è perfetto
(09:56:30 PM) risca: ciao |Wolf|
(09:56:37 PM) amosse: ciao
(09:56:38 PM) pinolo: ciao
(09:56:43 PM) risca: permettetemi pero un abbellimento
(09:57:43 PM) groll: uhm direi che potremmo sfruttare questo esempio per introdurre gli if e i float
(09:57:46 PM) |Wolf|: il coding non è obbligatorio
(09:57:53 PM) |Wolf|: metterlo male non fa
(09:58:25 PM) amosse: wolfcoding?
(09:58:27 PM) pinolo: è ma te sei un perfezionista!
(09:58:37 PM) Ernestus: cosa sono %s e %d
(09:58:37 PM) Ernestus: ?
(09:58:45 PM) risca: Ottima domanda Ernestus
(09:58:46 PM) pinolo: richiami a variabili?
(09:58:50 PM) |Wolf|: %s -> stringhe; %d -> interi
(09:58:53 PM) pinolo: inseriti dopo
(09:58:57 PM) |Wolf|: risca, ma fare format?
(09:59:11 PM) risca: Cosa intendi con format?
(09:59:11 PM) |Wolf|: il % per lo string formatting è semideprecato
(09:59:20 PM) |Wolf|: ''.format()
(09:59:23 PM) risca: non lo sapevo
(09:59:40 PM) risca: come sarebbe con format?
(09:59:52 PM) pinolo: chiamiamolo Maestra.py
(10:00:05 PM) risca: ok. salvatevelo e provatelo, ok?
(10:01:45 PM) pinolo: ok
(10:01:47 PM) |Wolf|: ho messo su etherpad
(10:01:50 PM) pinolo: funziona
(10:02:14 PM) pinolo: ora prova anche con il format wolf
(10:02:17 PM) risca: a me no...
(10:02:27 PM) pinolo: anche se non ne ho trovato traccia sulle guide
(10:02:50 PM) pinolo: no a me funziona il primo scritto da noi. Quello con il format non l'ho provato
(10:03:09 PM) JumX: Chiedo scusa ma come lo provate?
(10:03:10 PM) |Wolf|: risca, metti i numeri se hai 3.1
(10:03:18 PM) Ernestus: ma se io uso %s e ci sono due o più stringhe, quale di queste utilizza??
(10:03:21 PM) risca: mi ero perso una parentesi
(10:03:39 PM) risca: un attimo ernestus e poi passiamo proprio a questo
(10:03:40 PM) pinolo:  creando un file py in un editor di testo
(10:03:43 PM) groll: Ernestus: vanno in ordine
(10:04:03 PM) pinolo: JumX
(10:04:03 PM) |Wolf|: Ernestus, per ogni % prende uno degli argomenti
(10:04:09 PM) |Wolf|: e devi avere tanti % quanti argomenti
(10:04:31 PM) pinolo: JumX: http://guide.debianizzati.org/index.php/Accademia:Quale_editor_di_testo
(10:04:34 PM) |Wolf|: Ernestus: 'primo %s, secondo %d, terzo %d' % ('uno', 2, 3)
(10:04:50 PM) |Wolf|: il primo arg ('uno') va al primo %, cioè %s
(10:05:00 PM) |Wolf|: il secondo arg va al %d
(10:05:06 PM) |Wolf|: e il terzo all'ultimo %d+
(10:05:11 PM) |Wolf|: senza +
(10:05:23 PM) pinolo: ok
(10:05:25 PM) Ernestus: faccio un prova dopo, ma credo di aver capito
(10:05:30 PM) risca: vorrei sottolineare a tutti il seguente URL: http://www.ibm.com/developerworks/linux/library/l-python3-1/   <-- qui viene spiegato format
(10:06:16 PM) amosse: scusate il riferimento per i numeri float qual'é?
(10:06:18 PM) |Wolf|: Ernestus, dipende solo dall'ordine
(10:06:41 PM) pinolo: float(input())
(10:06:52 PM) |Wolf|: Ernestus se fai 'primo %s, secondo %d, terzo %d' % ('uno', 'due', 3) dà errore perché il %d si aspetta un int e trova una stringa
(10:07:17 PM) |Wolf|: Ernestus, però puoi fare 'primo %s, secondo %d, terzo %d' % (1, 2, 3), perché %s converte tutto a stringa
(10:07:31 PM) Ernestus: tutto chiaro |Wolf|
(10:07:46 PM) pinolo: il format è utile ma forse io mi trovo meglio con il metodo tradizionale
(10:08:01 PM) pinolo: almeno penso sia il metodo tradizionale...
(10:08:09 PM) risca: direi di approfittarne per fare qualche esempio tra il format ed il metodo "tradizionale"
(10:08:13 PM) risca: ok?
(10:08:16 PM) pinolo: ok
(10:08:26 PM) amosse: ok
(10:08:29 PM) |Wolf|: il format è più polito e potente, ma il % è più comodo in genere
(10:08:41 PM) |Wolf|: io al corso che ho fatto non l'ho neanche spiegato il %
(10:09:06 PM) pinolo: ah ok
(10:09:09 PM) spirit [~spirit@Azzurra-C3C291C.104-82-b.business.telecomitalia.it] entered the room.
(10:09:19 PM) groll: il % poi va anche contro lo spirito di python che capirete più in la
(10:09:40 PM) risca: >>> print("questo è un %s, un numero %d, ma questi? %r %r" % ('testo',3,'testo1',4))
(10:10:01 PM) risca: provate pure, vi è tutto chiaro?
(10:11:27 PM) risca: allora?
(10:11:30 PM) JumX: Ma come provare uno script con Geany ? L'ho trascritto ma non so come eseguirlo 
(10:11:45 PM) risca: no, in questo caso provate su shell
(10:12:02 PM) pinolo: vai su Genera>Set Build Command
(10:12:17 PM) JumX: si
(10:12:24 PM) Stemby: eccomi
(10:12:24 PM) JumX: poi ?
(10:12:33 PM) JumX: Ciao Stemby
(10:12:38 PM) Stemby: 5 minuti che mi aggiorno
(10:12:44 PM) pinolo: nel campo execute scrivi
(10:12:45 PM) Stemby: voi continuate
(10:13:05 PM) risca: ciao Stemby
(10:13:13 PM) pinolo: python3.1 "%f"
(10:13:16 PM) tux_errante [~alessandr@Azzurra-46650E84.Red-88-3-143.dynamicIP.rima-tde.net] entered the room.
(10:13:33 PM) pinolo: ci sei JumX?
(10:14:16 PM) JumX: fatto , poi ?
(10:14:17 PM) pinolo: poi quando hai salvato lo script con estensione .py premi F5 e dovrebbe andare
(10:14:19 PM) |Wolf|: devo andare
(10:14:20 PM) |Wolf|: buon corso
(10:14:27 PM) groll: ciao
(10:14:28 PM) risca: ciao |Wolf|
(10:14:30 PM) Ernestus: ciao |Wolf| 
(10:14:37 PM) pinolo: devo andare anche io ragazzi, mi dispiace
(10:14:43 PM) JumX: Ciao wolf
(10:14:48 PM) pinolo: mi aggiornerò con gli script
(10:14:50 PM) JumX: Ciao Pinolo
(10:14:53 PM) groll: ciao
(10:14:55 PM) pinolo: Ciao a tutti
(10:14:57 PM) risca: ok, buona lettura degli script
(10:15:02 PM) pinolo left the room (quit: Quit: Sto andando via).
(10:15:49 PM) risca: JumX, tutto a posto?
(10:16:10 PM) JumX: Geany mi dice che è Impossibile trovare il terminale "xterm" (verificare il percorso per il terminale nelle preferenze)
(10:16:39 PM) risca: JumX, se hai problemi con Geany passa direttamente alla shell
(10:16:43 PM) tux_errante: devi prima installarlo
(10:16:45 PM) risca: ed usa kate per scrivere
(10:16:50 PM) groll: oppure usa gedit o kate
(10:16:50 PM) tux_errante: buonasera
(10:16:55 PM) groll: che hanno il terminale integrato
(10:17:28 PM) JumX: usavo Gedit ma mi hanno consigliato Geany  (ho visto in accademia)
(10:17:38 PM) groll: tanto per ora non cambia molto
(10:17:50 PM) groll: va bene anche nano :|
(10:17:58 PM) JumX: Risca consiglia VIM ... e io non so a chi ascoltare ?!??!?!?!
(10:18:08 PM) JumX: groll dice nano ?!?!?
(10:18:23 PM) risca: se hai letto l'introduzione, ho ben spiegato che è un fattore molto soggettivo
(10:18:25 PM) JumX: Confusion :s
(10:18:30 PM) tux_errante: JumX: l'ho scritto io, è molto soggettivo com è scritto, però ha alcuni aiuti come il completamento dei nomi delle funzioni e appunto il fatto di eseguire uno script con un click
(10:18:31 PM) risca: prova, prima o poi lo capirai da solo
(10:18:32 PM) groll: usa gedit
(10:18:48 PM) Ernestus: risca, come si usa vim?
(10:18:53 PM) groll: poi più avanti avrai abbastanza nozioni per sceglierti l'editor o l'ide
(10:18:54 PM) risca: tux_errante: le stesso cose sono presenti con vim
(10:19:00 PM) tux_errante: ah ok
(10:19:04 PM) tux_errante: perfect
(10:19:11 PM) groll: Ernestus: leggendoti un manuale di millemila pagine
(10:19:14 PM) risca: io lo uso da console con kayacuk
(10:19:19 PM) risca: (o qualcosa di simile)
(10:19:30 PM) risca: però c'è anche la versione grafica con gVIM
(10:20:14 PM) risca: se ci siamo riprese vorrei spiegare una cosa molto complessa, che sarà l'inizio di tutto
(10:20:24 PM) JumX: Ok fermi tutti   per ora usero il terminale o gedit poi approfondiro geany o vim
(10:20:29 PM) Ernestus: groll, è quello il problema... 
(10:20:43 PM) risca: posso iniziare?
(10:20:49 PM) JumX: si
(10:21:01 PM) Ernestus: vai risca, scusa
(10:21:07 PM) risca: allora, abbiamo detto che python è un linguaggio ad oggetti
(10:21:21 PM) risca: infatti tutto in python è (dovrebbe essere) un oggetto
(10:21:46 PM) risca: citando More+ "tutto è un oggetto, anche la mia ragazza.."
(10:22:09 PM) risca: allora vediamo una cosa semplice ma che introduce bene il concetto
(10:22:12 PM) risca: ________________
(10:22:34 PM) risca: prima qualcuno ha detto che %s %d %r non sono conformi ai principi di python
(10:22:45 PM) risca: infatti questo è vero.
(10:23:00 PM) risca: Vediamo l'esempio che abbiamo usato prima nello script:
(10:23:13 PM) risca: print("questo è un %s, un numero %d, ma questi? %r %r" % ('testo',3,'testo1',4))
(10:23:51 PM) risca: Se vi chiedessi di indicarmi se c'è uno oggetto nel codice che vi ho indicato saresti in grado di trovarlo?
(10:23:53 PM) risca: _____________________________-
(10:23:58 PM) risca: rispondete pure
(10:24:46 PM) JumX: %s %d %r%r"%
(10:24:52 PM) risca: no
(10:24:56 PM) risca: purtroppo
(10:25:03 PM) risca: e questa è la fregatura
(10:25:12 PM) risca: non c'è _nessun_ oggetto!
(10:25:18 PM) risca: Quella è una funzione
(10:25:22 PM) risca: _______________-
(10:25:27 PM) risca: qual è la funzione?
(10:25:35 PM) amosse: print()
(10:25:39 PM) risca: giusto
(10:25:45 PM) risca: e l'argomento della funzione?
(10:25:47 PM) JumX: print
(10:25:57 PM) JumX: quello tra parentesi
(10:26:01 PM) risca: perfetto
(10:26:11 PM) risca: avete capito benissimo cos'è una funzione
(10:26:13 PM) risca: ___________________-
(10:26:17 PM) tux_errante: e cosa cambierebbe senza l'utilizzo dei parametri speciali? dal punto di vista degli oggetti
(10:26:43 PM) risca: quello è un richiamo, niente di particolare
(10:26:53 PM) risca: PERÒ adesso entriamo nella logica ad oggetti
(10:26:54 PM) amosse: avrei dovuto mettere gli oggetti stringa
(10:27:22 PM) risca: Facciamo diventare l'argomento (la sua parte principale almeno) un oggetto.
(10:27:29 PM) risca: Come si fa?
(10:27:39 PM) risca: riuscireste a scriverlo come un oggetto?
(10:28:03 PM) amosse: stringa = "...."
(10:28:13 PM) risca: risposta corretta
(10:28:19 PM) risca: la stringa è un oggetto
(10:28:24 PM) risca: ________________________
(10:28:26 PM) JumX: quindi un oggetto è anche una variabile
(10:28:49 PM) risca: sì, un oggetto è tutto quello che può essere rappresentato in una variabile
(10:28:52 PM) risca: ______________________________
(10:29:01 PM) risca: adesso torniamo alla funzione print
(10:29:13 PM) risca: abbiamo l'oggetto ("......")
(10:29:23 PM) risca: e vogliamo interagire con quest'ultimo
(10:29:25 PM) risca: _____________
(10:30:02 PM) risca: In python per interagire con un oggetto si può usare la seguente sintassi: oggetto.fai-qualcosa
(10:30:17 PM) risca: Ecco subito l'esempio chiarificatore:
(10:30:29 PM) risca: "questo è un {0}, un numero {1}, ma questi? {2} {3}".format('testo',3,'testo1',4)
(10:30:33 PM) risca: ___________________________________-
(10:30:41 PM) risca: provatelo pure nella vostra shell
(10:30:45 PM) Stemby: risca: non son d'accordo che non ci sono oggetti
(10:30:48 PM) Stemby: io ne vedo 2
(10:30:52 PM) risca: è chiara la sintassi?
(10:31:27 PM) Ernestus: per forza la graffa?
(10:31:41 PM) groll: io 6
(10:31:45 PM) risca: sì, con format ci vuole la graffa
(10:32:29 PM) Stemby: groll: intendevo nella formattazione delle stringhe (con %)
(10:32:43 PM) groll: si appunto
(10:32:48 PM) Stemby: lì di oggetti ce ne sono 2: la stringa, e la tupla
(10:33:02 PM) Stemby: però le tuple non le abbiamo ancora fatte
(10:33:05 PM) risca: sì, ma sono usati come argomento di una funzione
(10:33:11 PM) groll: anche la funzione stessa
(10:33:17 PM) Ernestus: in che senso groll 
(10:33:19 PM) Ernestus: ?
(10:33:29 PM) groll: in python tutto è un oggetto anche le funzioni
(10:33:35 PM) Stemby: hai ragione
(10:33:39 PM) risca: con format invece abbiamo proprio la formattazione classica con cui si utilizzano gli oggetti
(10:33:46 PM) risca: (il punto)
(10:33:49 PM) Stemby: e poi anche le variabili che formano la tupla
(10:33:59 PM) Stemby: in effetti di oggetti ce n'erano parecchi
(10:34:07 PM) groll: Stemby: già :P
(10:34:30 PM) Stemby: risca: questo è vero
(10:34:47 PM) Stemby: però la formattazione delle stringhe è più comoda a mio avviso
(10:34:54 PM) Stemby: è per quello che convivono entrambe
(10:35:10 PM) Stemby: ok
(10:35:21 PM) Stemby: mi permettete di commentare quanto c'è sul pad^
(10:35:23 PM) Stemby: ?
(10:35:26 PM) risca: giusto, però mi sembrava fosse il momento di introdurre l'annotazione del punto
(10:35:29 PM) risca: fai pure
(10:35:35 PM) risca: http://openetherpad.org/O39OAgcU0I
(10:35:37 PM) Stemby: allora:
(10:35:42 PM) Stemby: riga 1) ok
(10:35:53 PM) Stemby: come detto precedentemente, ci sono varie possibilità
(10:36:01 PM) Stemby: ma quella è a mio avviso la migliore
(10:36:14 PM) Stemby: e dovrebbe funzionare anche su Mac
(10:36:22 PM) Stemby: (MacOS è Unix)
(10:36:32 PM) Stemby: i winari invece si attaccano
(10:36:48 PM) Stemby: (quella riga su win viene ignorata)
(10:36:57 PM) Stemby: riga 2: io la toglierei
(10:37:15 PM) Stemby: aveva poco senso in py2, ne ha ancor meno in py3
(10:37:43 PM) Stemby: ovvero: usiamo nei sorgenti solo ASCII, ed evitiamo così problemi di codifica alla fonte
(10:37:58 PM) Stemby: (niente accentate o caratteri strani)
(10:38:11 PM) Stemby: ((solo i caratteri che si trovano nella tastiera USA)
(10:38:13 PM) Stemby: )
(10:38:32 PM) Stemby: riga 4: elimino uno spazio inutile
(10:38:45 PM) Stemby: visto?
(10:38:49 PM) Stemby: prima di \n
(10:38:53 PM) JumX: si
(10:39:05 PM) JumX: la riga 2 toglila
(10:39:14 PM) Stemby: così anche nelle righe successive
(10:40:30 PM) pinolo [~pinolo@Azzurra=205D5FA9.49-151.net24.it] entered the room.
(10:40:38 PM) pinolo: ce l'ho fatta a tornare
(10:40:41 PM) Stemby: ultime righe:
(10:40:51 PM) Stemby: ho eliminato il carattere "è"
(10:40:58 PM) Stemby: per il motivo che ho detto sopra
(10:41:05 PM) pinolo: qual'è la pagina dello script?
(10:41:12 PM) Stemby: evitiamo caratteri non ASCII
(10:41:17 PM) risca: Stemby: secondo me come testo si può tenere l'accento
(10:41:18 PM) Stemby: http://openetherpad.org/O39OAgcU0I
(10:41:28 PM) Ernestus: ma bisogna inserire .format nel secondo blocco?
(10:41:28 PM) Stemby: risca: è nei sorgenti
(10:41:31 PM) Stemby: non va bene
(10:41:44 PM) Stemby: se fosse nell'input da tastiera, no problem
(10:41:47 PM) Ernestus: faccio una copia per evitare danni
(10:41:51 PM) Stemby: il problema è nei sorgenti
(10:41:54 PM) risca: non ci vedo nulla di male nelle stringhe, specialmente perchè siamo italiani
(10:42:18 PM) Stemby: risca: prendila come netiquette
(10:42:21 PM) Stemby: ergo:
(10:42:29 PM) Stemby: nei sorgenti NON si scrive in italiano
(10:42:40 PM) Stemby: (si scrive SEMPRE in iglese)
(10:42:51 PM) Stemby: la localizzazione si fa in un secondo tempo
(10:43:02 PM) Stemby: se prendiamo questa sana abitudine da subito, è meglio
(10:43:17 PM) Stemby: *inglese
(10:43:17 PM) Ernestus: risca, non vuole le graffe?
(10:43:21 PM) groll: comunque prima di andare a parlare dei metodi e delle classi partirei dalle funzioni
(10:43:29 PM) risca: format è comunque una funzione
(10:43:38 PM) Stemby: groll: dipende
(10:43:41 PM) groll: o ancora meglio dagli if e una panoramica sui tipi dinamici
(10:43:41 PM) Ernestus: vero!
(10:43:42 PM) risca: le funzioni si scrivono: funzione()
(10:43:49 PM) Stemby: alcuni metodi possono essere anticipati
(10:43:58 PM) Stemby: tipo quelli delle classi standard
(10:43:59 PM) groll: si però almeno poniamo le basi
(10:44:07 PM) groll: altrimenti bisogna sempre stare sul vago
(10:44:07 PM) Ernestus: l'argomento non va tra parentesi... a meno che non sia una stringa, giusto?
(10:44:07 PM) risca: Stemby, iniziamo con if e while?
(10:44:09 PM) Stemby: (i metdi delle stringhe, per esempio)
(10:44:27 PM) Stemby: per me ok
(10:44:33 PM) amosse: ok
(10:44:34 PM) Stemby: chiaro per tutti?
(10:44:34 PM) groll: si potrebbe modificare lo script per introdurre un if e l'uso dei tipi dinamici
(10:44:53 PM) risca: sì, però io inizierei dall'aprire la shell
(10:45:12 PM) risca: e vedere cos'è una variabile booleana
(10:45:22 PM) risca: ve le ricordate dall'ultimo incontro?
(10:45:29 PM) Stemby: domanda:
(10:45:39 PM) pinolo: ok
(10:45:49 PM) Stemby: chi sa spiegare in termini semplici il concetto di "algoritmo"?
(10:46:04 PM) tux_errante: mmm
(10:46:16 PM) tux_errante: l'algoritmo è semplicemente il modo di risolvere un problema
(10:46:22 PM) Stemby: ottimo!
(10:46:22 PM) tux_errante: il modo di fare una cosa
(10:46:27 PM) Stemby: esatto
(10:46:27 PM) tux_errante: come allacciarsi le scarpe
(10:46:30 PM) tux_errante: fare la spesa
(10:46:36 PM) tux_errante: o il nodo alla cravatta
(10:46:36 PM) Stemby: quasi
(10:46:45 PM) Stemby: ah, sì
(10:46:49 PM) tux_errante: così lo spiegai ad un amico di mio padre
(10:46:51 PM) tux_errante: e capì
(10:46:52 PM) tux_errante: hehe
(10:46:56 PM) Stemby: diciamo che per noi molte cose sono scontate
(10:46:58 PM) JumX: applicare metodo per la risoluzione di problemi 
(10:47:14 PM) Stemby: al computer non puoi dire: fai il nodo della cravatta
(10:47:28 PM) Stemby: ad un umano sì
(10:47:39 PM) Stemby: (magari non è capace neppure l'umano)
(10:47:50 PM) risca: allora è meglio programmare un umano
(10:48:00 PM) Stemby: la cosa può essere svolta (almeno in teoria" da un robot
(10:48:00 PM) tux_errante: (io non sono capace)
(10:48:12 PM) pinolo: neanche io
(10:48:23 PM) Stemby: ma bisogna dirgli dettagliatamente ogni passaggio
(10:48:33 PM) Stemby: esempio:
(10:48:45 PM) Stemby: fare la spesa siamo capaci tutti, no?
(10:48:52 PM) pinolo: sì
(10:48:58 PM) amosse: ok
(10:48:58 PM) pinolo: quello sì
(10:49:12 PM) Stemby: se dico a pinolo: vai a comprare il pane, lo fa
(10:49:17 PM) JumX: Esci di casa - chiudi la porta scendi le scale .... . . . .. . . .. 
(10:49:24 PM) Stemby: se lo dico al mio robot, no
(10:49:24 PM) pinolo: se mi dai i soldi sì
(10:49:33 PM) Stemby: JumX: quasi
(10:50:00 PM) Stemby: senz'altro a basso livello bisogna essere molto più dettagliati
(10:50:11 PM) pinolo: ok
(10:50:16 PM) Stemby: immaginando che sia su ruote
(10:50:25 PM) Stemby: e che sia già orientato verso la porta:
(10:50:36 PM) Stemby: il primo comando è "avanti"
(10:50:38 PM) pinolo: andare avanti
(10:50:38 PM) Stemby: ok?
(10:50:43 PM) Stemby: esatto
(10:50:49 PM) pinolo: fermarsi alla porta
(10:50:51 PM) Stemby: poi arriva alla porta
(10:50:58 PM) Stemby: pinolo: dipende
(10:51:08 PM) Stemby: se la porta è già aperta, può proseguire
(10:51:16 PM) pinolo: ah, hai ragione
(10:51:21 PM) Stemby: e qui entra in gioco l'IF
(10:51:22 PM) pinolo: e lì entra l'if
(10:51:28 PM) pinolo: preciso
(10:51:33 PM) Stemby: ottimo, vedo che capiamo
(10:51:40 PM) Stemby: quindi, il pseudocodice:
(10:51:53 PM) pinolo: lo pseudocodice
(10:52:10 PM) Stemby: IF porta=chiusa THEN stop
(10:52:17 PM) Stemby: giusto?
(10:52:24 PM) pinolo: ok
(10:52:27 PM) Stemby: se la porta è aperta, fermati
(10:52:36 PM) JumX: ok
(10:52:39 PM) pinolo: no
(10:52:43 PM) Stemby: no, ho ssbagliato
(10:52:46 PM) Stemby: volevo dire
(10:52:51 PM) Stemby: se la porta è chiusa, fermati
(10:52:52 PM) pinolo: ok
(10:53:17 PM) Stemby: ovviamente se la porta invece è aperta, quella riga del programma viene saltata (ignorata)
(10:53:24 PM) pinolo: e quindi aprila
(10:53:33 PM) JumX: else ? 
(10:53:41 PM) Stemby: l'else non serve
(10:53:42 PM) pinolo: prosegui
(10:53:46 PM) Stemby: ci sono solo 2 possibilità
(10:53:52 PM) Stemby: aperta/chiusa
(10:54:07 PM) pinolo: ok
(10:54:12 PM) Stemby: quindi: se la porta è chiusa, parte un pezzo di codice
(10:54:16 PM) pinolo: solo la prima riga successiva
(10:54:21 PM) Stemby: (stop, apri la porta, ecc.)
(10:54:35 PM) Ernestus: quindi else= apri la porta
(10:54:35 PM) Stemby: altrimenti tutto quel pezzo di programma viene saltato
(10:54:39 PM) Ernestus: si omette?
(10:54:46 PM) Stemby: Ernestus: esatto, non serve
(10:54:50 PM) Stemby: si omette
(10:55:00 PM) pinolo: ok
(10:55:11 PM) Stemby: vediamolo in pseudocodice pitonesco
(10:55:18 PM) Stemby: risca: apro un nuovo pad?
(10:55:35 PM) pinolo: salviamo quello di adesso
(10:55:39 PM) pinolo: per il wiki
(10:55:40 PM) Stemby: http://openetherpad.org/QA3DNFXy2X
(10:56:57 PM) pinolo: ma start l'abbiamo visto?
(10:56:59 PM) risca: di cosa scriviamo ora?
(10:57:06 PM) risca: (start non serve)
(10:58:51 PM) Stemby: pinolo: le funzioni le ho inventate al momento
(10:58:56 PM) Stemby: sono nomi di fantasia
(10:58:58 PM) pinolo: ah ok ok
(10:59:06 PM) pinolo: ora ho capito
(10:59:11 PM) Stemby: ci siamo, più o meno=
(10:59:15 PM) Stemby: ?
(10:59:18 PM) JumX: il concetto è chiaro
(10:59:22 PM) Ernestus: i puntini sono inutili?
(10:59:29 PM) pinolo: domanda
(10:59:30 PM) Stemby: focalizziamoci su alcune cose
(10:59:40 PM) Stemby: Ernestus: i puntini non ci vogliono
(10:59:46 PM) Stemby: era per dire che il programma continua
(10:59:54 PM) risca: i puntini sono punti di sospensione (continua come vuoi tu)
(11:00:12 PM) Stemby: dimmi pinolo
(11:00:14 PM) Ernestus: capito... non dò tutto per scontato
(11:00:19 PM) risca: proporrei di applicare il caso in questione ad un esempio concreto
(11:00:26 PM) Stemby: un secondo
(11:00:34 PM) pinolo: come fa il programma a capire cosa sta dentro l'if? sono le parti di script a cui hai dato "TAB"
(11:00:34 PM) Stemby: solo 2 o 3 cosucce
(11:00:44 PM) Stemby: pinolo: ottima domanda
(11:00:49 PM) Stemby: stavo per spiegarlo
(11:00:53 PM) pinolo: ah
(11:00:56 PM) pinolo: ok
(11:00:59 PM) Stemby: dipende dal linguaggio
(11:01:07 PM) Stemby: in python, si usa l'INDENTAZIONE
(11:01:14 PM) Stemby: (in italiano: rientro)
(11:01:17 PM) pinolo: ok
(11:01:21 PM) Stemby: guardate il codice:
(11:01:22 PM) pinolo: capito
(11:01:32 PM) Stemby: la riga con l'if, finisce con ":"
(11:01:50 PM) Stemby: da lì in poi, parte la sezione che sta dentro l'IF
(11:02:07 PM) Stemby: questa sezione DEVE essere indentata (rientrata)
(11:02:24 PM) pinolo: tutto cio che è "identato" è legato al true dell'IF
(11:02:27 PM) Stemby: il linguaggio accetta vari tipi di indentazioni
(11:02:30 PM) Stemby: pinolo: esatto
(11:02:43 PM) Stemby: noi però useremo sempre, solo e soltanto questa:
(11:02:46 PM) Stemby: 4 spazi
(11:02:48 PM) Stemby: ok?
(11:02:56 PM) pinolo: ok
(11:02:59 PM) Stemby: questo perché è uno standard di fatto
(11:03:17 PM) Stemby: se aprite un qualunque programma scritto in py, vedrete che è sempre così
(11:03:25 PM) Stemby: (almeno nei progetti seri)
(11:03:43 PM) Stemby: quando l'indentazione finisce, il codice prosegue
(11:03:49 PM) Stemby: dunque
(11:04:01 PM) Stemby: immaginiamo che la porta sia aperta
(11:04:10 PM) pinolo: gira a destra
(11:04:12 PM) Stemby: cosa succede?
(11:04:18 PM) JumX: andrebbe su right
(11:04:28 PM) Stemby: partiamo dall'inizio
(11:04:34 PM) Stemby: ditemi quali righe vengono lette
(11:04:49 PM) pinolo: 3,4,8
(11:04:49 PM) Stemby: e in che ordine
(11:05:11 PM) Stemby: io direi:
(11:05:14 PM) JumX: 348
(11:05:19 PM) Stemby: dalla 1 alla 4
(11:05:28 PM) pinolo: sì ok
(11:05:33 PM) Stemby: verifica che la condizione non è vera
(11:05:45 PM) Stemby: quindi SALTA le righe da 5 a 8
(11:05:51 PM) Stemby: prosegue dalla 9
(11:05:52 PM) Stemby: ok?
(11:06:03 PM) pinolo: come!
(11:06:06 PM) JumX: no dalla 8 ?
(11:06:06 PM) pinolo: ?
(11:06:17 PM) Stemby: scusate, sì
(11:06:19 PM) Stemby: dalla 8
(11:06:25 PM) pinolo: ah
(11:06:27 PM) Stemby: ho letto male il numero di riga
(11:06:39 PM) Stemby: quindi SALTA le righe da 5 a 7
(11:06:41 PM) Stemby: ok?
(11:06:42 PM) JumX: perfect
(11:06:45 PM) pinolo: ok
(11:06:53 PM) Stemby: ovvero:
(11:07:07 PM) Stemby: il robot parte, verifica che la porta è aperta, gira a destra
(11:07:11 PM) Stemby: ecc.
(11:07:16 PM) Stemby: altro caso:
(11:07:20 PM) Stemby: la porta è chiusa
(11:07:26 PM) Stemby: cosa fa il robot?
(11:07:38 PM) Stemby: (che riche vengono lette?)
(11:07:39 PM) pinolo: tutte le righe dalla 1 alla 10 e oltre
(11:07:43 PM) JumX: 5 6 7 8
(11:07:46 PM) Stemby: pinolo: esatto
(11:07:58 PM) Stemby: il programma viene letto ed eseguito interamente
(11:08:05 PM) Stemby: dall'inizio alla fine
(11:08:16 PM) Stemby: parte indentata compresa
(11:08:21 PM) pinolo: pk
(11:08:24 PM) pinolo: ok
(11:08:28 PM) Stemby: ottimo
(11:08:46 PM) Stemby: ovviamente, ogni funzione racchiude degli algoritmi in maggior dettaglio
(11:08:55 PM) Stemby: ma le funzioni le vedremo più avanti
(11:09:02 PM) Stemby: risca: sei libero :)
(11:09:13 PM) risca: ok
(11:09:17 PM) Stemby: avanti con un esempio concreto che gira sul nostro terminale
(11:09:23 PM) risca: vi ricordate ad esempio le storie a bivio, tipiche dei giornalini?
(11:09:34 PM) Stemby: librogame
(11:09:42 PM) pinolo: JumX: ma poi sei riuscito a far partire Geany?
(11:09:53 PM) pinolo: sì!
(11:09:59 PM) risca: sì, qualle in cui ad ogni pagina devi scegliere coma far andare avanti la storia
(11:10:04 PM) pinolo: alle scuole medie ero impazzito
(11:10:14 PM) pinolo: con lupo solitario!
(11:10:28 PM) risca: bene, ottimo esempio. Proviamole a scriverne una breve, giusto di esempio
(11:10:36 PM) JumX: No preferisco leggervi attentamente poi approfondirò
(11:10:46 PM) risca: di che avventura volete trattare?
(11:11:10 PM) risca: il pinguino Linux che sconfigge M$?
(11:11:18 PM) Stemby: Tux
(11:11:26 PM) pinolo: A proposito: Germania-Italia 1-1 - Scusate l'OT
(11:11:40 PM) risca: ok
(11:11:50 PM) risca: allora andiamo al pad: http://openetherpad.org/geeJZPlWMq
(11:12:00 PM) JumX: stavo diventando strabico un'occhio al pc uno alla tv
(11:12:24 PM) Ernestus: 5 minuti e torno
(11:12:28 PM) Ernestus left the room (quit: Quit: Ex-Chat).
(11:12:29 PM) risca: ok
(11:12:31 PM) JumX: i pad di prima possiamo chiuderli o ci serviranno?
(11:12:50 PM) pinolo: risca chi li salva?
(11:13:22 PM) pinolo: vuoi che ti dia una mano col wiki?
(11:13:29 PM) risca: ovvio che sì
(11:13:43 PM) risca: Jumx, se non è un problema lasciali
(11:14:29 PM) JumX: Mi raccomando all'accademia  è una fonte utilissima per rivedere gli argomenti
(11:14:39 PM) JumX: no problem
(11:14:59 PM) groll: non è melgio usare {} che è più pythonico?
(11:15:18 PM) risca: groll ha perfettamente ragione
(11:15:24 PM) risca: correggiamo
(11:15:24 PM) pinolo: var è di tipo booleano?
(11:15:37 PM) risca: no no, è testo
(11:16:29 PM) Ernestus [~ernesto@Azzurra=13134D5F.41-79-r.retail.telecomitalia.it] entered the room.
(11:16:34 PM) JumX: perchè tre volte virgolette ? 
(11:16:47 PM) risca: per avere gli a capo andando a capo
(11:16:50 PM) groll: JumX: perchè così si può andare a capo
(11:16:53 PM) risca: altrimenti devi inserire \n
(11:17:00 PM) groll: e scrivere tutto su una riga
(11:17:04 PM) Ernestus: eccomi
(11:17:21 PM) pinolo: ma come!?
(11:17:35 PM) pinolo: tutta la storia in italiano e dobbiamo rispondere yes!?
(11:17:44 PM) risca: ha ragione pinolo
(11:17:49 PM) groll: name è inglese ho uniformato :P
(11:17:54 PM) Ernestus: cosa mi sono perso??
(11:18:00 PM) risca: stemby: non possiamo per ora imporre il yes
(11:18:03 PM) JumX: ho imparato un'altra cosa :)  ... chissa se il mio cervello si fonderà alla fine...
(11:18:15 PM) risca: buona  idea
(11:18:32 PM) groll: Ernestus: stiamo scrivendo un nuovo best seller http://openetherpad.org/geeJZPlWMq
(11:18:57 PM) pinolo: ma S/N va bene scritto tra parentesi in quel modo o da problemi?
(11:19:28 PM) JumX: no perchè è dentro le parentesi della stringa
(11:19:36 PM) groll: pinolo: no perchè è all'interno di una stringa quindi non può venire confuso
(11:19:44 PM) pinolo: io però farei il contrario
(11:19:52 PM) pinolo: se risponde no allora esci
(11:19:52 PM) JumX: cioè ?
(11:20:04 PM) pinolo: altrimenti continua con la storia
(11:20:21 PM) pinolo: no? è più corto
(11:20:53 PM) risca: ragazzi, copiate e provate
(11:21:01 PM) risca: poi proviamo come migliore
(11:21:02 PM) risca: ok?
(11:21:33 PM) JumX: ora vado in crisi nel terminale copio una ricca alla volta ?
(11:21:43 PM) pinolo: risca: potevamo fare come ha detto io?
(11:21:46 PM) JumX: riga no ricca scusate
(11:21:52 PM) risca: puoi usare altrimenti kate che è più semplice
(11:21:53 PM) groll: JumX: salvalo su un file fai prima
(11:22:16 PM) risca: pinolo: come?
(11:22:26 PM) pinolo: JumX: meglio che lo risolvi subito sto problema con l'editor
(11:22:52 PM) pinolo: risca: Davamo if ready==N:
(11:22:55 PM) Stemby: pinolo: apri con l'editor più stupido
(11:22:56 PM) JumX: poi mi perdo il corso ...
(11:23:00 PM) Stemby: gedit/kate
(11:23:08 PM) pinolo: no per JumX
(11:23:10 PM) Stemby: copiaincolla
(11:23:11 PM) pinolo: non per me
(11:23:13 PM) JumX: l'ho salvato in un file storia.py .. come lo eseguo?
(11:23:19 PM) Stemby: pinolo: sorry
(11:23:29 PM) risca: pinolo: prova pure a invertire l'ordine, ma il risultato non cambia
(11:23:32 PM) Stemby: JumX: python3 storia.py
(11:23:33 PM) amosse: ok 
(11:23:41 PM) pinolo: risca: codardo, esci dal programma
(11:24:00 PM) pinolo: invece altrimenti andavi avanti
(11:24:03 PM) pinolo: giusto?
(11:24:33 PM) pinolo: no cambia perchè io esco dal programma se mi dici di NO
(11:24:46 PM) pinolo: giusto Stemby?
(11:25:08 PM) Stemby: un secondo
(11:25:09 PM) JumX: SyntaxError: EOL while scanning string literal
(11:25:11 PM) risca: giusto, il problema è che non si torna indietro con if
(11:25:41 PM) amosse:  print("Non ho capito...")
(11:25:57 PM) risca: è chiaro a cosa serve l'ELSE
(11:25:59 PM) pinolo: sì ho capito ma dato che non vuoi proseguire, e clicchi NO, esci dal programma
(11:25:59 PM) risca: ?
(11:26:11 PM) pinolo: e non prosegui
(11:26:27 PM) pinolo: invece se non hai risposto N vai avanti
(11:26:45 PM) pinolo: dentro la funzione IF di ready==N
(11:26:54 PM) pinolo: metti Exit()
(11:27:02 PM) pinolo: o no?
(11:27:09 PM) risca: si può fare di megli
(11:27:14 PM) risca: print e poi exit
(11:27:31 PM) risca: guardate un po'?
(11:27:54 PM) JumX: Possono essere presenti o meno, una o più parti elif, e la parte else è facoltativa. La parola chiave ‘elif’ è un’abbreviazione di ‘else if’, e serve ad evitare un eccesso di indentazioni. 
(11:28:20 PM) risca: JumX: ottima osservazione
(11:28:26 PM) Stemby: c'era un errore nell'algoritmo
(11:28:39 PM) Stemby: il secondo if deve essere saltato, se si dà SI'
(11:28:42 PM) risca: provate tutti e poi affrontiamo il fatidico errore dell'algoritmo
(11:28:43 PM) Stemby: quindi ci vuole elif
(11:28:48 PM) Stemby: al posto di if
(11:28:54 PM) Stemby: chiaro?
(11:28:58 PM) JumX: non pensate che sia farina del mio sacco ....  ho varie fonti su cui mi documento :)
(11:29:04 PM) risca: c'è ancora un errore...
(11:29:18 PM) risca: un grave errore
(11:29:33 PM) risca: provate lo script e ditemi
(11:29:51 PM) amosse: a me dava errore alla riga 22
(11:30:03 PM) Stemby: risca: ora a me funziona
(11:30:06 PM) amosse: mancava le 2"" iniziali
(11:30:13 PM) Stemby: amosse: riprova ora
(11:30:33 PM) risca: sì, ma c'è un grave errore nell'algoritmo
(11:30:34 PM) Stemby: nuovo copiaincolla per tutti
(11:30:39 PM) Stemby: no
(11:30:54 PM) Stemby: almeno, io non lo vedo
(11:31:01 PM) amosse: funziona
(11:31:22 PM) risca: allora provate tutti, cosa succede se invece di N o S scrivete "non so"?
(11:31:33 PM) risca: o peggio ancora se scrivete NO?
(11:31:41 PM) Stemby: non capisce
(11:31:45 PM) Stemby: ed è giusto così
(11:31:53 PM) Stemby: l'else serve appunto per quello
(11:32:07 PM) Stemby: ovvio che si può migliorare, ma come primo esempio non è male
(11:32:13 PM) Stemby: accetta SOLO S o N
(11:32:15 PM) risca: però l'algoritmo è sbagliato perchè l'avventura va avanti
(11:32:21 PM) groll: risca: la storia prosegue nonostante una grave incomprensione iniziale
(11:32:27 PM) Stemby: esatto
(11:32:32 PM) risca: proviamo a rimediare con un while?
(11:32:36 PM) pinolo: a me da errore
(11:32:44 PM) Stemby: pinolo: nuovo copiaincolla
(11:32:54 PM) Stemby: poi ci dici l'errore, se persiste
(11:33:05 PM) Stemby: risca: quello è un algoritmo sen'altro migliore
(11:33:14 PM) JumX: a me funge .. mi piace
(11:33:20 PM) Stemby: aspettiamo che tutti siano allineati, e implementiamolo
(11:33:20 PM) risca: ottimo ;-)
(11:33:31 PM) groll: pinolo: occhio che con il copia incolla non siano spuntati interlinee dove il testo è più lungo
(11:33:40 PM) groll: *spuntate
(11:34:35 PM) risca: ci siamo tutti?
(11:34:38 PM) pinolo: no
(11:34:53 PM) risca: pinolo: provato con il copia incolla?
(11:35:11 PM) pinolo: sì
(11:35:21 PM) risca: e quando lanci lo script cosa succede?
(11:35:21 PM) Ernestus: ci sono
(11:35:24 PM) pinolo:   File "Tux Adventure.py", line 17
(11:35:24 PM) pinolo:         print("Il tuo coraggio ti fa onore!\nSono certo che assieme sconfiggeremo il software proprietario!")
(11:35:24 PM) pinolo:          ^
(11:35:24 PM) pinolo: SyntaxError: invalid character in identifier
(11:35:29 PM) JumX: Solo che sarebbe opportuno nel caso di risposta non uguale a S o N che il programma tornasse a riproporti la domanda non di uscire
(11:36:00 PM) risca: l'indentazione in IF è corretta?
(11:36:38 PM) risca: IF deve essere a margine e nel rigo sotto print deve avere 4 spazi
(11:36:51 PM) pinolo: ok 
(11:36:58 PM) pinolo: risca avevi ragione
(11:37:03 PM) risca: ;-)
(11:37:18 PM) risca: implementiamo l'idea di Jumx?
(11:37:43 PM) risca: allora, oltre ad IF esiste anche WHILE
(11:38:13 PM) risca: WHILE ripete tutto ciò che ha al suo interno finché siamo in uno stato di verità
(11:38:39 PM) risca: noi vogliano quindi inserire nel ciclo tutto ciò
(11:38:56 PM) pinolo: ok
(11:39:02 PM) risca: che è compreso tra il secondo print e l'ultimo else
(11:39:08 PM) pinolo: facciamo passi da gigante
(11:39:14 PM) risca: vediamo un po'...
(11:39:21 PM) risca: guardate il pad ora
(11:40:25 PM) pinolo: ma deve ripetere anche la richiesta
(11:41:06 PM) pinolo: ok ci sono
(11:41:10 PM) risca: INFATTI il valore della variabile ready è dentro il while
(11:41:22 PM) risca: ora c'è un problema, come usciamo dal ciclo?
(11:41:23 PM) JumX: proviamo ?
(11:41:33 PM) JumX: e già
(11:41:45 PM) pinolo: appunto
(11:41:49 PM) risca: WHILE si interrompe quando non è più vero
(11:42:03 PM) risca: exit() non funziona siccome ci fa uscire dallo script
(11:42:08 PM) risca: Stemby non lo fare
(11:42:13 PM) risca: è bruttissimo
(11:42:29 PM) risca: adesso vi propongo la mia soluzione 
(11:42:33 PM) Stemby: è bruttissimo while
(11:42:42 PM) Stemby: è per quello che non lo si usa mai in python
(11:42:46 PM) risca: (anche quella di stemby poteva però funzionare ma meno elegante)
(11:43:09 PM) Stemby: vai, ti lascio fare :)
(11:43:22 PM) risca: fatto
(11:43:39 PM) risca: vi torna?
(11:43:43 PM) pinolo: no
(11:43:56 PM) pinolo: perchè non esci prima dell'else
(11:43:58 PM) risca: guardate il primo if
(11:43:59 PM) pinolo: ???
(11:44:06 PM) JumX: che ne dite di usare le istrruzioni break e continue e la clausola nei cicli
(11:44:25 PM) risca: JumX, può essere una alternativa
(11:44:26 PM) tux_errante: concordo
(11:44:28 PM) risca: però prima 
(11:44:32 PM) risca: vediamole entrambe
(11:44:56 PM) risca: proviamo un attimo lo script?
(11:45:15 PM) pinolo: ah ok ci sono
(11:45:18 PM) pinolo: ok ok
(11:45:56 PM) risca: funziona?
(11:47:02 PM) amosse: SI
(11:47:07 PM) Stemby: no
(11:47:11 PM) pinolo: no
(11:47:12 PM) Stemby: non esce dal ciclo
(11:47:14 PM) pinolo:   File "Tux Adventure.py", line 12
(11:47:14 PM) pinolo:     ready = input("""
(11:47:14 PM) pinolo:         ^
(11:47:14 PM) pinolo: IndentationError: expected an indented block
(11:47:26 PM) Stemby: pinolo: stai attento agli spazi
(11:47:29 PM) risca: pinolo copia bene
(11:47:34 PM) risca: attento agli spazi
(11:47:46 PM) risca: purtroppo non funziona, vediamo di capire perché
(11:47:51 PM) risca: idee?
(11:47:55 PM) groll: sicuro che quel False funziona?
(11:48:10 PM) risca: il False funziona, ma non lì purtroppo
(11:48:17 PM) Stemby: non così
(11:48:19 PM) risca: come mai non funziona lì però?
(11:48:21 PM) Stemby: non può funzionare
(11:48:29 PM) Stemby: ci vuole una variabile
(11:48:36 PM) Stemby: il controllore che mi hai bocciato
(11:48:39 PM) risca: aspetta un attimo Stemby
(11:48:45 PM) Stemby: o altrimenti non usare while...
(11:49:08 PM) risca: il FALSE di per se funzionerebbe
(11:49:14 PM) risca: fate questa prova:
(11:49:19 PM) Stemby: non mi risulta, risca
(11:49:30 PM) risca: aprite il file e togliete l'indentazione al False, cosa succede?
(11:49:44 PM) Stemby: ma False che cos'è?
(11:49:54 PM) Stemby: non esiste nessuna istruzione che si chiami così
(11:49:59 PM) risca: (lasciate solo quattro spazi e non 8)
(11:50:07 PM) Stemby: non può funzionare
(11:50:24 PM) Stemby: correggo io
(11:50:25 PM) risca: scusate un attimo
(11:50:25 PM) groll: concordo con Stemby
(11:50:35 PM) groll: quello che vuoi fare te è il break
(11:51:16 PM) groll: risca: prova while True: False
(11:51:25 PM) groll: non funziona
(11:51:31 PM) Stemby: così dovrebbe andare
(11:51:34 PM) JumX: ’istruzione break, esce immediatamente dal ciclo for o while più interno che la racchiude
(11:51:44 PM) Stemby: esatto, sarebbe meglio
(11:51:54 PM) Stemby: ma per ora può andar bene cos'
(11:51:56 PM) Stemby: *così
(11:52:10 PM) pinolo: ok provo
(11:52:11 PM) JumX: L’istruzione continue,  prosegue con l’iterazione seguente del ciclo.
(11:52:21 PM) groll: oppure si può fare anche senza variabile di controllo in questo modo (lo tengo commentato
(11:53:46 PM) pinolo: non esce dal ciclo
(11:54:37 PM) amosse: scusate ma se mettete break alle righe 18 e 21 mi sembra funzioni
(11:55:07 PM) groll: pinolo: si che esce
(11:55:17 PM) amosse: ops 22 e 25
(11:55:27 PM) risca: eccomi
(11:55:29 PM) pinolo: se indenti tutto il ciclo
(11:55:34 PM) pinolo: ?
(11:55:49 PM) Stemby: groll: meglio
(11:55:50 PM) risca: scusate ma mi ricordavo che il False fosse prendibile dal While
(11:56:04 PM) Stemby: decommento la tua soluzione
(11:57:57 PM) JumX: Ma non esiste una funzione tipo Goto ?
(11:58:04 PM) pinolo: magari
(11:59:03 PM) risca: se le tuple le affrontiamo la prossima volta?
(11:59:09 PM) groll: JumX: i goto non vanno mai usati
(11:59:24 PM) groll: a meno che non stai programmando in assembly
(11:59:30 PM) Ernestus: cosa sono i Goto?
(11:59:32 PM) risca: qualcosa di semplice è meglio, atteniamoci all'esempio precedente
(11:59:37 PM) risca: con il break
(11:59:48 PM) risca: ok?
(11:59:55 PM) amosse: ok
(02/10/2011 12:00:26 AM) groll: beh il break non è molto semplice in realtà
(12:00:35 AM) groll: rende il codice meno leggibile
(12:00:52 AM) JumX: ho trovato questo :    line = linecache.getline(thefilename, 33)
(12:01:14 AM) Stemby: JumX: goto non credo ci sia
(12:01:22 AM) Stemby: anzi, SPERO che non ci sia
(12:01:34 AM) Stemby: mai sentito parlare di spaghetti code?
(12:01:45 AM) Stemby: googla... :)
(12:02:15 AM) Stemby: in ogni caso non sarebbe una funzione, bensì un'istruzione
(12:02:20 AM) pinolo: ragazzi non vi sto dietro
(12:02:32 AM) pinolo: ho bisogno di rallentare per controllare lo script
(12:02:38 AM) pinolo: per capirci qualcosa
(12:02:45 AM) Stemby: pinolo: sì, abbiamo un po' accelerato
(12:02:45 AM) pinolo: avete aperto troppe parentesi
(12:02:53 AM) groll: risca: secondo me la stai complicando ora ci sono exit e break
(12:02:58 AM) amosse: Buona notte a tutti, e alla prossima
(12:03:08 AM) Stemby: aspetta che si stabilizzi, poi lo analizziamo riga per riga
(12:03:10 AM) groll: il not in si capiva anche se non sanno cos'è una tupla e un insieme
(12:03:13 AM) JumX: Buonanotte amosse
(12:03:13 AM) pinolo: prendiamo una strada e manteniamo quella
(12:03:21 AM) Ernestus: notte amosse 
(12:03:26 AM) pinolo: notte amosse
(12:03:33 AM) Ernestus: non ho capito la funzione di break!
(12:03:46 AM) groll: a questo punto meglio tutte break
(12:03:47 AM) pinolo: ancora non credo l'abbia detta
(12:04:04 AM) groll: con la exit non esegue l'else del while
(12:04:13 AM) risca: groll: no per la parte prima
(12:04:18 AM) risca: rimettiamo com'era
(12:04:19 AM) amosse left the room (quit: Quit: http://www.mibbit.com ajax IRC Client).
(12:04:21 AM) risca: con il control
(12:04:22 AM) pinolo: però credo che il comando break faccia uscirà automaticamente da un ciclo while
(12:04:27 AM) risca: qualcuno l'ha copiata?
(12:04:48 AM) risca: ...riscrivo...
(12:04:55 AM) groll: a questo punto allora quella var != "S" and var != "N"
(12:05:06 AM) groll: così è senza variabili di controllo e senza break,exit
(12:05:17 AM) Stemby: ce l'ho io la vecchia versione
(12:05:20 AM) Stemby: un secondo
(12:05:26 AM) risca: io propongo:
(12:05:40 AM) risca: Stemby metti la prima parte a posto com'era con il control
(12:05:47 AM) risca: groll: scriviamo
(12:06:00 AM) risca: una terza parte come proposto date
(12:06:04 AM) risca: da te*
(12:06:09 AM) risca: molto elegante
(12:06:25 AM) Stemby: fatto
(12:06:28 AM) Stemby: provatelo
(12:06:36 AM) risca: sì, ma hai canellato un po' troppo
(12:06:42 AM) pinolo: oddio domani questi script li devo rimettere apposto sul wiki e so già che sarà durissima!
(12:06:44 AM) risca: cancellato*
(12:07:01 AM) Ernestus: io vado... alla prossima
(12:07:03 AM) Ernestus: buonanotte
(12:07:07 AM) groll: notte
(12:07:10 AM) risca: Stemby: puoi reinserire la parte cancellata?
(12:07:12 AM) pinolo: notte
(12:07:16 AM) risca: buona notte Ernestus
(12:07:20 AM) Ernestus left the room (quit: Quit: Ex-Chat).
(12:07:24 AM) Stemby: risca: quale parte?
(12:07:37 AM) risca: quella con break
(12:07:39 AM) pinolo: mamma mia che casino!
(12:07:43 AM) pinolo: =)
(12:07:48 AM) Stemby: mmm vedo
(12:08:10 AM) risca: ottimo!
(12:08:22 AM) risca: mi permettete un secondo?
(12:08:49 AM) pinolo: ok
(12:09:06 AM) risca: Così abbiamo 2 livelli
(12:09:47 AM) risca: chiaro quanto scritto fino a qui?
(12:10:06 AM) risca: Per finire vorrei implementare la soluzione di Groll che mi sembra la più elegante in assoluto
(12:10:29 AM) pinolo: ok
(12:10:39 AM) Stemby: su un altro pad
(12:10:45 AM) Stemby: risca: ↑
(12:10:51 AM) risca: pinolo e Groll, aggiungete coi il terzo atto?
(12:11:00 AM) Stemby: altrimenti non è copiaincollabile
(12:11:20 AM) risca: va bene, Stemby apri tu
(12:11:41 AM) risca: Stemby: però si riesce a copioincollare
(12:11:53 AM) groll: beh ormai mettiamola sotto
(12:11:57 AM) Stemby: sì, ma è meglio tenere un pad per ogni script
(12:12:04 AM) groll: oppure facciamone uno per ognuno degli atti
(12:12:11 AM) risca: vai avanti groll e pinolo
(12:12:16 AM) groll: alla fin fine è sempre la stessa storia
(12:12:17 AM) groll: :P
(12:12:18 AM) Stemby: ok
(12:12:19 AM) pinolo: facciamo il solito atto con tre soluzioni
(12:12:27 AM) risca: ragazzi, finiamo su questo, poi copio nel wiki
(12:12:28 AM) Stemby: ottimo
(12:12:29 AM) pinolo: tre pad diversi
(12:12:34 AM) Stemby: ok
(12:12:39 AM) Stemby: no pinolo
(12:12:42 AM) pinolo: ok
(12:12:42 AM) Stemby: stesso pad
(12:12:51 AM) risca: giusto
(12:12:54 AM) Stemby: 3 pezzi di codice con 3 soluzioni diverse
(12:13:01 AM) Stemby: ma nello stesso script
(12:13:02 AM) pinolo: vai groll
(12:13:04 AM) risca: ed una storia da affrontare!
(12:13:16 AM) risca: groll, voglio un finale d'azione
(12:13:45 AM) groll: http://openetherpad.org/kNE2v8koEv <-- terzo
(12:13:58 AM) pinolo: no!
(12:14:13 AM) pinolo: ma non si era detto di fare tutto lì!?
(12:14:19 AM) groll: ah
(12:14:27 AM) groll: avevo capito in un altro
(12:14:33 AM) risca: sì, dai facciamo tutto lì
(12:15:01 AM) Stemby: groll: unisci
(12:15:03 AM) Stemby: :)
(12:16:15 AM) spirit left the room (quit: Quit: leaving).
(12:16:31 AM) pinolo: vai che lo pubblichiamo!
(12:16:41 AM) pinolo: =)
(12:18:15 AM) JumX: Mi sono perso ... 
(12:18:25 AM) risca: dove ti sei perso?
(12:18:37 AM) fiox left the room (quit: Quit: fiox).
(12:18:52 AM) JumX: da raga non pensate a me ditemi dove state scrivendo lo script
(12:19:01 AM) risca: http://openetherpad.org/geeJZPlWMq
(12:19:41 AM) risca: JumX: a posto?
(12:19:46 AM) JumX: grazie ... domani mattina devo studiare tutto daccapo.
(12:19:57 AM) JumX: si si a posto grazie
(12:20:57 AM) JumX: ma quanto grande può essere uno script ? 
(12:21:21 AM) JumX: c'è un limite consigliato
(12:21:21 AM) groll: con un dict sarebbe ancora più elegante
(12:21:31 AM) groll: JumX: dipende
(12:21:48 AM) JumX: da che dipende?
(12:23:13 AM) groll: da cosa stai facendo
(12:23:32 AM) JumX: Siete grandi :) puoi programmare anche a me un'intelligenza artificiale ....
(12:23:44 AM) groll: comunque meglio evitare script troppo lunghi è bene spezzettare in più parti
(12:24:02 AM) JumX: grazie groll
(12:24:41 AM) risca: Van bene i finali?
(12:25:57 AM) groll: JumX: devi cercare poi spezzettando di suddividere il programma in parti che hanno un qualcosa in comune
(12:26:03 AM) groll: non spezzettare a caso 
(12:26:54 AM) JumX: si l'avevo intuito
(12:27:50 AM) JumX: Possiamo provarlo ? 
(12:27:56 AM) groll: si
(12:28:01 AM) pinolo: dovrebbe andare
(12:28:16 AM) risca: sto debuggando
(12:28:16 AM) groll: la dicitura is not in dovrebbe essere autoesplicativa
(12:28:23 AM) risca: non funge
(12:28:36 AM) groll: poi vedrete in seguito cosa sono le tuple
(12:28:55 AM) pinolo: sì lo è
(12:29:34 AM) pinolo: qual'è il problema?
(12:29:43 AM) groll: ora che ci penso non è "not in" invece di "is not in"
(12:29:44 AM) groll: ?
(12:30:10 AM) risca: hai ragione
(12:30:36 AM) Stemby: esatto
(12:31:01 AM) pinolo: ma perchè il copiaincolla con Geany non mi funziona bene?
(12:31:18 AM) pinolo: devo ri-indentare sempre tutte le righe
(12:32:10 AM) groll: pinolo: può darsi che ci sia un opzione per separare in automatico le righe troppo lunghe
(12:32:21 AM) groll: (il che mi sembra una scemata per un ide)
(12:32:21 AM) risca: c'era un input di troppo
(12:32:26 AM) JumX: Trooopo forte
(12:32:52 AM) risca: la variabile DOMANDA non può contenere il comando input
(12:34:32 AM) JumX: Solo che alla risposta Virus scrive sempre Virus .. ho dovuto  fare il "cortocircuito" per uscire
(12:34:42 AM) risca: ho già corretto
(12:34:45 AM) risca: ora ti spiego:
(12:34:52 AM) risca: (12:32:21 AM) risca: c'era un input di troppo
(12:34:56 AM) risca: (12:32:52 AM) risca: la variabile DOMANDA non può contenere il comando input
(12:35:19 AM) risca: ti rendi conto dell'errore se, premendo ctrl + C quando è in loop
(12:35:27 AM) risca: leggi dove lo script si è interrotto
(12:36:15 AM) pinolo: groll: no perchè ho levato la spunta da "a capo automatico"
(12:37:07 AM) risca: l'ultimo else non serve
(12:37:15 AM) risca: siete d'accordo?
(12:37:49 AM) groll: coreograficamente si :|
(12:37:54 AM) JumX: Raga Bing bang ha detto stop ...  domani un duro lavoro mi aspetta .... Alla prossima compagneros !
(12:38:03 AM) risca: Jumx, ok
(12:38:08 AM) pinolo: ciao JumX
(12:38:09 AM) JumX: Buonanotte
(12:38:10 AM) groll: comunque era meglio usare elif invece di if nel terzo atto
(12:38:11 AM) risca: ci aggiorniamo in forum e wiki
(12:38:25 AM) JumX: senz'altro
(12:38:36 AM) JumX: Ciao
(12:38:38 AM) risca: groll: giusto, però all'atto pratico non cambia nulla
(12:38:39 AM) groll: ciao
(12:38:45 AM) risca: ciao JumX
(12:38:48 AM) JumX left the room.
(12:38:51 AM) groll: beh ormai sono così anche gli altri
(12:39:29 AM) groll: vado pure io a dormire
(12:39:30 AM) groll: notte
(12:39:46 AM) risca: buona notte
(12:39:57 AM) risca: allora ragazzi, chiudiamo qui?
(12:39:58 AM) groll left the room (quit: Read/Dead Error: Input/output error).
(12:40:04 AM) pinolo: direi di sì
(12:40:22 AM) pinolo: ho roba per stare sveglio tutta la notte in questo script
(12:40:27 AM) risca: ottimo, ci si sente domani per aggiornare il wiki e gli script
(12:40:32 AM) risca: !!
(12:40:42 AM) risca: intrippa troppo scrivere codice
(12:40:58 AM) risca: penso sia una delle cose più stimolanti in assoluto
(12:41:00 AM) pinolo: buonanotte ragazzi
(12:41:09 AM) risca: buona notte pinolo
(12:41:13 AM) pinolo: a domani sul wiki
(12:41:18 AM) risca: ciao
(12:41:22 AM) risca: Stemby?
(12:41:33 AM) pinolo: e non sognate troppi Utonti
(12:41:38 AM) risca: ^.^
(12:41:52 AM) pinolo left the room (Sto andando via).
(12:41:54 AM) Stemby: ok
(12:41:57 AM) Stemby: notte a tutti
(12:42:08 AM) risca: Stemby
(12:42:16 AM) Stemby: stavo ripulendo un po' la formattazione delle domande/risposte
(12:42:18 AM) risca: direi che oggi abbiamo fatto tantissimo
(12:42:23 AM) Stemby: fin troppo
(12:42:32 AM) risca: però ci voleva