PROGRAMMARE CON PYTHON

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Pagine: 1, [2], 3, 4, 5, 6, 7
boboav
00sabato 16 gennaio 2010 18:47
Per crearne uno da zero senza aprirne uno già fatto?
johnwhile
00sabato 16 gennaio 2010 19:07
www.java2s.com/Code/Python/CatalogPython.htm
qui trovi tanti esempi.
Per fare dei programi ti serve solo notepad e il python installato, niente di più !
Scrivi il codice dentro un file vuoto di testo e rinominalo esempio test.py invece di test.txt, vedrai che l'icona cambia perchè python lo riconosce. se ci fai doppio clic sul file il programma parte, niente di più facile.
Il problema è sapere cosa scrivere, provo a vedere di farti un esempio.
boboav
00sabato 16 gennaio 2010 19:11
Come sempre gentilissimo
johnwhile
00sabato 16 gennaio 2010 19:30
ESEMPIO BANALE
esempio del comendo "print" cioè scrive qualcosa:
Io non so come si fà in Python ma in C cera un comando System("PAUSE") per non far terminare il programma prima di aver premuto un tasto, così potevi vedere quello che faceva.
Allora scrivi con notepad questo e poi rinomina il file in .py

se fai doppio clic il programma scrive BLABLABLA e poi esce subito, per vedere quello che fà io al momento faccio così:
vai su start, esegui, cmd, premi invio.

Questo è il prot dei comandi di windows da cui puoi far eseguire tutti i programmi, trascina il nostro test.py all'interno e premi invio:

il programmino che avevo fatto io non lo eseguo così perchè a me interessa solo che mi crei un file di testo, non fa vedere niente ma per te hai bisogno di un esempio pratico.

dopo che il programma ha eseguito l'operazione di BLABLAzione esce ma così vedi quello che fà.
Ovviamente al posto di print BLABLABLA puoi scriverci tutto quello che vuoi, puoi farti anche un programma che ti chiede 2 numeri e ti restituisce la somma...
johnwhile
00sabato 16 gennaio 2010 19:40
ESEMPIO CICLO WHILE
se fai lo stesso procedimento per il mio file non vedrai niente perchè non ho messo nessun print, a volte li utilizzo per vedere dove si blocca il programma, specialmente nei cicli, ci metto un Print e poi il valore di una varabile che aumenta di uno ad ogni ciclo.

prova questo:


i=0
while i<10:
print ("CICLO n'%d\n" % i)
i=i+1
print "fine del ciclo"



te lo metto anche in allegato, questo è la base base base di un ciclo while

SPIEGAZIONE:

i=0 dichiaro una variabile di nome i e gli dò il valore 0
while i<10: = fai questo (sotto) fintanto che i è minore di 10
print ("CICLO n'%d\n" % i) scivi "CICLO" e un numero (la sintassi è %d, su internet ne trovi altre...) \n è il carattere a capo (\t è il tab ecc...) il numero %d corrisponde alla variabile i)
i=i+1 il valore (i+1) va a finire dentro la stessa i quindi la sostituisce.
quando arriva a 9 scrive "CICLO n'9" poi la aumenta di uno e il ciclo esce perchè la condizione i<10 non è più verificata, infatti il programma non scrive CICLO n'10.
finito il ciclo scrive l'ultimo print
boboav
00sabato 16 gennaio 2010 20:11
Il primo l'ho capito, ora vedrò di analizzare il secondo che mi sembra più difficile:)

Il prompt dei comandi invece lo conosco già, anche se per ora l'ho usato solo per creare file .bat(quelli dei mod)
johnwhile
00sabato 16 gennaio 2010 21:32
beh, adesso non posso farti delle lezioni ma se vai su internet trovi tanti tutorial, ti consiglio di leggerti prima un pò di teoria altrimenti anche le operazioni base creerebbero difficoltà.
Qui c'è tutto tradotto in italiano, ma alcune cose le ho tranquillamente tralasciate
docs.python.it/html/tut/
boboav
00sabato 16 gennaio 2010 22:29
Sì, comunque credo di aver capito anche la seconda
johnwhile
00sabato 16 gennaio 2010 23:31
cioè riesci a fare quello che ho scritto ? questo è l'importante, poi il resto è "solo" la conoscenza di tutte le funzioni e il loro utilizzo.
boboav
00domenica 17 gennaio 2010 07:46
johnwhile
00domenica 17 gennaio 2010 12:31
vedi, adesso l'ho sistemato e ho messo un ciclo while da 16 invece che leggere e memorizzare 16 numeri. Infatti, adesso nel ciclo di 16 numeri, legge un numero alla volta e lo scrive. Quindi il programma utilizza UNA SOLA variabile mentre prima utilizzava 16 variabili che venivano prima memorizzate poi trascritte.
Questo è un risparmio di ram del computer che per programmini del genere non si vede, la cpu invece fa sempre un'operazione alla volta che sia un ciclo o memorizzare 16 variabili, quindi dal punto di vista della velocità non cambia. Non ho fatto informatica ma penso in linea di principio sia così.
Proverò a fare adesso la versione per convertire il testo in binario, poi volevo imparare a fare quelle bellisime finestre stile windows
boboav
00domenica 17 gennaio 2010 14:35
Stamani ho fatto dei programmini molto belli x calcolare area, perimetro ecc..., di varie figure geometriche
johnwhile
00domenica 17 gennaio 2010 16:26
ok, dopo che hai familiarità con i comandi base puoi fare esercizi sempre più complessi, così si impara.
PS: perchè fai doppio post ?
boboav
00domenica 17 gennaio 2010 16:33
Perché mi collego con il telefonino e a volte mi capita:(
johnwhile
00domenica 17 gennaio 2010 19:07
col telefonino ?? via internet o ti colleghi con una wireless ??
perchè non usi il pc ?
boboav
00domenica 17 gennaio 2010 19:23
Via internet.Non utilizzo il pc perché abito in un paesino così piccolo che non c'è nemmeno l'ADSL
johnwhile
00domenica 17 gennaio 2010 21:40
e come fai a scaricarti i file ?
boboav
00lunedì 18 gennaio 2010 07:10
In un internet point nel paese vicino
johnwhile
00martedì 19 gennaio 2010 15:12
rhyamo, ho provato a fare un po di test con i bottoni di Python, funziona al 80% cioè non capisco perchè (lo stesso programma) non mi lavora come prima.
rhaymo
00martedì 19 gennaio 2010 15:26
qual è il problema?
johnwhile
00martedì 19 gennaio 2010 17:21
come qual'è ? non funziona il programma !
Cioè alcune funzioni che prendono i numeri dal file binario non funzionano (e lo scrive anche nel cmd.exe) eppure ho solo aggiunto il bottone e collegato la funzione
rhaymo
00martedì 19 gennaio 2010 17:35
hai provato a usare il debug?
johnwhile
00martedì 19 gennaio 2010 17:43
il debug lo fà in automatico nella schermata di cmd.exe, ma lo puoi vedere anche tè...

Microsoft Windows XP [Versione 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Studenti>"C:\Documents and Settings\Studenti\Documenti
\Utenti\j\test3.py"
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Documents and Settings\Studenti\Documenti\Utenti\j\PortablePython_1.1
_py2.5.4\App\lib\lib-tk\Tkinter.py", line 1414, in __call__
return self.func(*args)
File "C:\Documents and Settings\Studenti\Documenti\Utenti\j\test3.py", line 14
2, in bin2txt
num = getfloat(fileinput)
File "C:\Documents and Settings\Studenti\Documenti\Utenti\j\test3.py", line 53
, in getfloat
(thefloat,) = struct.unpack( 'f', fidin.read(4) ) # 'f' is float.

File "C:\Documents and Settings\Studenti\Documenti\Utenti\j\PortablePython_1.1
_py2.5.4\App\lib\struct.py", line 87, in unpack
return o.unpack(s)
error: unpack requires a string argument of length 4

johnwhile
00martedì 19 gennaio 2010 17:46
è che probabilmente ho sbagliato qualcosa sulle funzioni solo che non sò che pesci pigliare....
def bin2txt() :
....
return


cioè nel bottone chiamo questa funzione, prima la funzione non era chiamata quindi non avvo messo questo def bin2txt... cioè mi sembra non funzionino gli altri def getfloat( fidin ) cioè quelli che prendono i dati dal file binario.
La sintassi dice OK ma ci sarà qualche cosa di illecito che ho fatto...
rhaymo
00martedì 19 gennaio 2010 17:48
adesso non ho tempo, ma dando un'occhiata veloce il problema è in quello struct.unpack. cosa dovrebbe fare?? forse gli hai passato meno di 4 byte perchè sei arrivato alla fine del file???
johnwhile
00martedì 19 gennaio 2010 17:50
cioè se guardi il vecchio programma noterai che ho solo raggruppato tutta la procedura in una funzione def bin2txt() : per farla partire da comando del bottone.
Quindi se prima funzionava non capisco perchè... qui sei tu l'informatico :-P
rhaymo
00martedì 19 gennaio 2010 17:51
struct.unpack(fmt, string)¶
Unpack the string (presumably packed by pack(fmt, ...)) according to the given format. The result is a tuple even if it contains exactly one item. The string must contain exactly the amount of data required by the format (len(string) must equal calcsize(fmt)).

johnwhile
00martedì 19 gennaio 2010 18:23
si ho già letto, il fatto che prima funzionava poi quando l'ho messo come comando attivabile tramite bottone non andava più...
boboav
00martedì 19 gennaio 2010 19:15
scusate che cambia fra un formato .py e uno .exe
rhaymo
00martedì 19 gennaio 2010 20:25
allora, tanto per cominciare, quel messaggio che appare sulla console non ha nulla a che vedere con il debug.

Il debug ti permette di eseguire un'istruzione per volta ogni volta che premi un tasto, e di visualizzare il contenuto delle variabili, per capire in tempo real cosa sta accadendo.
Ecco di cosa parlo:

pythonconquerstheuniverse.wordpress.com/category/the-python-d...

i comandi più importanti sono "n" e "p".
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 08:53.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com