|
|
|
![]() |
|
Strumenti |
![]() |
#81 |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Uppo anch'io per ripetere la domanda che ti ho fatto pochi post fa: che guida stai usando?
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
![]() |
![]() |
![]() |
#82 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 887
|
ziosilvio qualche post indietro ti ho scritto ce la guida si trova nella prima pagina del thread, postata da wisher.sia in italiano che in inglese.
eccola http://www.python.it/doc/Howtothink/...l-it/index.htm |
![]() |
![]() |
![]() |
#83 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Ottima scelta. A proposito: quel \linebreak è un errore di stampa nella versione italiana della guida. Infatti, come puoi constatare tu stesso QUI, nella versione originale non c'è. (Per inciso: nella traduzione si è anche persa una famosa gag dei Monty Python...) La funzione che serve ad accettare stringhe di caratteri, come avevo detto in precedenza, è raw_input. Tale funzione ha il vantaggio di memorizzare l'input da tastiera come stringa grezza (raw string), ossia senza interpretare i caratteri speciali (apice, doppio apice, eccetera) come tali, ma considerandoli caratteri normali.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu Ultima modifica di Ziosilvio : 27-02-2007 alle 22:26. |
|
![]() |
![]() |
![]() |
#84 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 887
|
in che senso senza interpretare i caratteri speciali? cioè se io scrivo
nome=raw_input ("qual'è il tuo nome?") che cosa è che non interpreta? e che cosa è la gag dei monty python? |
![]() |
![]() |
![]() |
#85 | ||
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Supponiamo che uno si chiami Marco. Se scrive Codice:
Marco Codice:
'Marco' Quote:
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu Ultima modifica di Ziosilvio : 28-02-2007 alle 10:50. |
||
![]() |
![]() |
![]() |
#86 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 887
|
ora capisco, pensavo che era riferito a quello racchiuso nelle parentesi, praticamente il prompt, non pensavo che ti riferissi all'input dell'utente.scusami,ma se uno usa input e si inserisce una stringa python dovrebbe dare un errore di sintassi.quindi se uno scrive 'Marco' dovrebbe dare lo stesso un errore oppure mettendo gli apici o virgolette input capisce ke è una stringa?
|
![]() |
![]() |
![]() |
#87 | |||
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Se la racchiudi tra apici o doppi apici, no. Ad esempio, considera il frammento di codice Python: Codice:
prompt = 'Che mi dici di bello? ' s = input(prompt) Codice:
Che mi dici di bello? Codice:
%s costa %d Punti Sangue Se invece scrivi Codice:
'%s costa %d Punti Sangue' Codice:
print s % ('Blood Boil',5) Codice:
Blood Boil costa 5 Punti Sangue
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu Ultima modifica di Ziosilvio : 28-02-2007 alle 13:29. |
|||
![]() |
![]() |
![]() |
#88 | |||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 887
|
Quote:
Quote:
Quote:
cioè perchè scrivere con questa sintassi?per scrivere una frase si deve fare tutto queto procedimento? Ultima modifica di Th3 Kn0wl3dg3 : 28-02-2007 alle 18:31. |
|||
![]() |
![]() |
![]() |
#89 | ||
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
In pratica, hai la scelta di usare uno dei due tipi di delimitatori, e usare il secondo come carattere nomale all'interno della stringa. Per esempio, puoi scrivere Codice:
'"Ah ah!" rise il cattivo' Codice:
'\"Ah ah!\" rise il cattivo' Quote:
In pratica, puoi interpolare una stringa formattata in maniera opportuna, con i valori contenuti in una tupla: un po' come quando usi printf in C. Ma mi sa che sono andato troppo avanti...
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
||
![]() |
![]() |
![]() |
#90 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 887
|
si hai ragione, ho sbagliato io a scrivere!dovevo scrivere virgolete non asterischi!!andavo di fretta quando avevo scritto il post!
Quote:
interpolare, tupla.... e oltretutto io non so il C ma deduco che printf stampi un carattere...o no? |
|
![]() |
![]() |
![]() |
#91 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Le stringhe sono al capitolo 7 della guida; le tuple, al capitolo 9. printf lasciamola stare, visto che fa parte di un linguaggio che ci interessa se e solo se lo conosci già. Diciamo semplicemente che puoi creare una stringa con dei "buchi" (le cose tipo %s, %d eccetera) e poi usare una sequenza di oggetti (chiamata, appunto, tupla) per "tappare" questi "buchi". Io ho chiamato questa operazione "interpolazione". Ma ne riparliamo quando arrivi al capitolo giusto ![]()
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
![]() |
![]() |
![]() |
#92 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 887
|
ho capito cosa vuol dire, ma come hai detto è meglio parlarne quando arrivo ai capitoli dove se ne parla!purtroppo questi giorni sono dalla mattina alla sera fuori paese e mi viene difficile andare avanti a studiare python..al massimo riesco a fare un paragrafo...uffa
|
![]() |
![]() |
![]() |
#93 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 887
|
oggi mi sono bloccato di nuovo.ecco dove:
PARAGRAFO 5.2 Codice:
def DistanzaTraDuePunti(x1, y1, x2, y2): dx = x2 - x1 dy = y2 - y1 DistQuadrata = dx**2 + dy**2 print "DistQuadrata vale ", DistQuadrata return 0.0 Codice:
def DistanzaTraDuePunti(x1, y1, x2, y2): dx = x2 - x1 dy = y2 - y1 DistQuadrata = dx**2 + dy**2 Risultato = math.sqrt(DistQuadrata) return Risultato Codice:
def AreaDelCerchio2(xc, yc, xp, yp): Raggio = DistanzaTraDuePunti(xc, yc, xp, yp) Risultato = AreaDelCerchio(Raggio) return Risultato PARAGRAFO 5.4 Codice:
def Divisibile(x, y): return x%y == 0 scusate tutte queste domande ma non capisco |
![]() |
![]() |
![]() |
#94 | ||||
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Immagino che metta return 0.0 perchè forse le funzioni in pyhton devono per forza ritornare qualcosa, ma prendilo con le molle ke è un pò di tempo ke non tocco python ![]() Quote:
Quote:
Sono variabili locali della funzione. In parole povere queste variabili esistono solo fin tanto che il programma sta eseguendo la funzione, prima di iniziare ad eseguirla e dopo a verla terminata non esistono +. Le variabili globali invece sono visibili a tutto il codice. Quote:
Quindi questa riga di codice significa: restituisci come risultato se il resto di x diviso y è uguale a 0. Il resto di x diviso y è uguale a 0 solo quando x è divisibile per y.
__________________
![]() |
||||
![]() |
![]() |
![]() |
#95 | ||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 887
|
Quote:
Codice:
import math def AreaDelCerchio(Raggio): temp = math.pi * Raggio**2 return temp Quote:
Codice:
def DistanzaTraDuePunti(x1, y1, x2, y2): dx = x2 - x1 dy = y2 - y1 DistQuadrata = dx**2 + dy**2 print "DistQuadrata vale ", DistQuadrata return 0.0 Codice:
def Divisibile(x, y): return x%y == 0 Codice:
def Divisibile (x,y) if x%y==0 return |
||
![]() |
![]() |
![]() |
#96 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Piccolo esempio: Codice:
def foo(x,y): y = [] y.append(x) print y def foo2(x,y=[]): y.append(x) print y foo(1) foo(2) foo(3) foo2(1) foo2(2) foo2(3) Nel caso di foo2, y viene inizializzata una unica volta nel corso della prima chiamata, e il valore permane. Quindi foo2 ha il risultato di stampare rispettivamente [1],[1,2] e [1,2,3]. Non so se in questo caso abbia senso parlare di variabile temporanea
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
#97 | |||
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Le variabili locali sono temporanee, perché viene allocato sazio in memoria per loro quando viene avviata la funzione, e questo spazio viene liberato quando la funzione termina.
Quote:
Quote:
Quote:
Codice:
if x%y==0: return True else: return False Codice:
return x%y==0
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu Ultima modifica di Ziosilvio : 03-03-2007 alle 10:38. |
|||
![]() |
![]() |
![]() |
#98 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 887
|
capito.quello che non ho capito molto bene è l'esempio di fool e fool2
|
![]() |
![]() |
![]() |
#99 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
![]() E' implicito nella definizione di variabile locale il fatto che sia temporanea all'interno della funzione. Una variabile temporanea può essere ad esempio: Codice:
private void something(String a) { String b = a; // do something String b = null; //do anything else } La variabile a invece è una variabile locale, il che implica che è valida solo fintanto che ci si trova all'interno di quel metodo. Estendendo un pò questo concetto si può dire che: Codice:
int a = 1; int b = 2; int temp = a; a = b; b = temp; Ma cmq io potrei anche avere variabili globali temporanee, xkè il concetto di "località" di una variabile e di "temporaneità" sono proprio due cose diverse. Nel caso di cui sopra quella imho era un variabile locale. Spero di aver spiegato il mio concetto di "temporaneità" ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#100 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:11.