Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!

De Bello Mundi Forum

PROGRAMMARE CON PYTHON

  • Messaggi
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 11/02/2010 21:17
    per le intarfaccie guarda www.java2s.com/Code/Python/GUI-Tk/CatalogGUI-Tk.htm
    sono le GUI di Tkinter, l'altro sistema di gui non lo conosco, cioè se per quello conosco poco anche di tkinter ma almeno qualche finestra e pulsante li so fare
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 11/02/2010 21:24
    Sinceramente non ho capito, mi puoi fare un esempio tu così capisco sicuramente.:)
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 11/02/2010 21:59
    allora i disegni lascia stare, le interfaccie grafiche cioè programmi stile finestra (cioè tutti praticamente) sono un ramo abbastanza complesso...
    per i file ti ho fatto un esempio di scrittura.
    all'interno troverai 3 comandi base:
    file = open('testo.txt', 'w')
    file.write("testo")
    file.close()

    così se leggi qualche tutorial capirai di cosa parlano
    in aggiunta, se guardi il mio convertitore (l'ultima versione la trovi in twcnter qui.
    Ho messo qualcosina in più cioè il sistema di apertura\salvataggio file alla maniera di tutti i programmi di windows ma non ti serve:

    Testo nascosto - clicca qui
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 11/02/2010 21:59
    ecco, dimenticato l'allegato....
    Dimenticavo, se metti solo il nome del file con l'estensione te lo apre\salva nella stessa cartella dove si trova il programma, ma puoi benissimo scrivergli un percoso cioè:

    salvataggio = open('C:\Documents\Desktop\Dati_salvati.txt', 'w')

    adesso che ci penso non sò se apri il file in modalità "a" senza che esista già ti dà errore o ne crea uno di nuovo...
    [Modificato da johnwhile 11/02/2010 22:06]
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 08:06
    Ok, oggi vedrò di fare qualche cosa
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 11:22
    Ho guardato rettangolo3 ma a differenza di rettangolo2 non ho capito molto, per esempio la funzione open non è la stessa della import?
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 12/02/2010 11:35
    NOOOOOO, import importa delle librerie cioè una serie di comandi non standard (di solito si importa solo quello che serve)
    Open come ho detto apre l'oggetto file che in questo caso si chiama salvataggio, poi tutto fipende da esso, anche in altri comandi che non ho messo.
    c'è salvataggio.close() che chiude il file e salvataggio.write() (anche perchè è aperto in modalità "solo lettura") che scrive nel file.
    Facendo partire il programma noterai che lui crea, durante l'esecuzione del comando open, un file di testo con nome dati_salvati.txt.
    Open e close sono due comandi fondamentali che non possono vivere da soli :-) ma uno implica l'altro...
    Cos'è che non hai capito ? maglio risolverli adesso i dubbi altrimenti non ti posso spiegare altre cose
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 12:49
    Ho capito tutto, il dubbio era su questo comando open e su come ci si scrive sopra il risultato, poi volevo sapere anche come si fà l'operazione di radice quadrata
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 12/02/2010 15:02
    altri due esempio di lettura e scrittura di testi, io ti ho messo un paio di operazioni nuove come .seek .read(1) .split() che servono per fare quello che voglio fare, ma ti consiglio comunque di andare su internet a leggerti altre operazioni, specialmente sulle stringhe.

    Per la radice quadrata leggi qua
    quel: from math import sqrt serve per importare dalla libreria math (le librerie scrivile sempre all'inizio del programma) una funzione che non esiste nella libreria di default...
    per importare tutte le funzioni di quella libreria ti conviene scrivere solo:
    import math
    e/o
    import cmath
    qui trovi tutte le funioni di math:
    docs.python.org/library/math.html
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 15:30
    Uffa, sto fatto della radice non mi trovo, ho fatto sto programma per la scuola, ma come metto la radice?
    questo è il programma:

    import math
    a=input("Termine di secondo grado")
    b=input("Termine di primo grado")
    c=input("Termine noto")
    delta = (b * b) - (4 * a * c)
    print "Il delta è uguale a", delta

    Fin qui non ci sono problemi, ma per calcolare la x mi serve la radice di delta, come faccio?

    [Modificato da boboav 12/02/2010 15:38]
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 12/02/2010 15:51
    in effetti ho controllato adesso come si fà, per i tuoi programmi usa solo uno dei due import:
    #allora con questo sotto importi solo la funzione sqrt da math
    from math import sqrt
    #con questo importi tutto dalla libreria math
    from math import *
    
    a=input("Termine di secondo grado")
    b=input("Termine di primo grado")
    c=input("Termine noto")
    delta = (b*b)-(4*a*c)
    print "Il delta \x8a uguale a:", delta
    if delta>=0:
        print "radice di delta \x8a uguale a",  sqrt(delta)
    else:
        delta= abs(delta)
        print "delta negativo, radice del valore assoluto",  sqrt(delta)
    c=raw_input("invio per uscire")


    dimenticavo, tu mi avevi chiesto come mettere immagini, beh quà è spiegato grossolanamente le GUI programmazione.html.it/guide/lezione/1302/gui/ l'immagine la puoi vedere solo dentro queste finestre ma questo argomento è un po complesso...
    [Modificato da johnwhile 12/02/2010 15:58]
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 12/02/2010 15:53
    purtroppo python non è un programma di matematica come matlab (che restituisce anche radici complesse) per operazioni impossibili o indeterminate come 0/0 inf/inf radice(-x) ecc... devi metterci dei controlli
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 16:43
    Di questa cosa del menu sinceramente non ho capito moltissimo
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 12/02/2010 17:02
    delle GUI ?
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 17:08
    Esatto ho letto quel link che mi hai passato, mi sà che mi limiterò a copiare il menu fatto in quell esempio, magari avendolo fra le mani capisco
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 12/02/2010 17:15
    vabbe, anchio praticamente copio dappertutto ma è un argomento complesso, ho fatto un pò di pulsanti e questo mi basta, python lo utilizzerò solo per analizzare file o convertire, non credo che mi metterò a fare interfaccie grafiche al di fuori di qualche pulsante...
    www.java2s.com/Code/Python/GUI-Tk/CatalogGUI-Tk.htm
    qui ci sono invece molti esempli ridotti all'osso.

    questo è carino:
    www.java2s.com/Code/Python/GUI-Tk/Frameworkforasingledocumentinter...
    ma bisognerebbe studiarsi un libro per sapere tutto quello che serve sulle finestre, c'è poco da ragionare, solo conoscere tutte le funzioni
    [Modificato da johnwhile 12/02/2010 17:23]
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 17:26
    Grazie.
    Ho altre domande
    1:come creo un programma(tipo quello che mi hai detto tu, che è tipo virus, che inizia cicli while, all'oscuro di chi stà dall'altra parte), che magari si esegue insieme a un altro senza mostrarsi
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 12/02/2010 17:48
    Boh, so che i veri virus aggiungono il loro codice a quello di programmi già esistenti come explorer.exe quindi anche se apri TaskManager con ctrl+alt+canc non lo vedi ma funzione come "aggiunta" di un altro programma base di windows.
    Il trojan32 invece mi sembra sia un programma ideato per far aggiungere questo codice aggirando i controlli di windows.
    Ormai non si può più fare niente all'insaputa dell'utente specialmente con windows vista, dovresti cercarti su internet programmi che funzionano in backgroud, comunque oltre a non saper niente dell'argomento penso che stiamo uscendo dall'argomento, questa discussione è dedicata ad imparare python solo per fare qualche programmino o facilitare il lavoro di modding.
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 18:41
    era solo curiosità ovviamente [SM=g7325]


    comunque ecco come è venuto il programma sulle equazioni di secondo grado, se ti và dacci uno sguardo, questo è x un lavoro scolastico, nella mia classe (secondo anno s.tecnologico) sono l'unico con capacità di programmazione, e quindi mi tocca

    http://www.megaupload.com/?d=ZDWESVI1
    [Modificato da boboav 12/02/2010 18:43]
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 12/02/2010 20:13
    Ti hanno incaricato di fare i programmi ?
    comunque una cosette:

    crediti=raw_input("Visulizzare crediti? s/n ")
    if crediti == "s":
        print "Questo programma calcola il delta e il risultato di equazioni di secondo grado complete \nProgrammato da Andrea Vuolo"
    if crediti == "s":
        fine=raw_input("Per uscire premi un tasto")


    potevi semplicemente scrivere:

    if crediti == "s":
        print "Questo programma calcola il delta e il risultato di equazioni di secondo grado complete \nProgrammato da Andrea Vuolo"
        fine=raw_input("Per uscire premi un tasto")


    oppure:

    if crediti == "s":
        print "Questo programma calcola il delta e il risultato di equazioni di secondo grado complete \nProgrammato da Andrea Vuolo"
    fine=raw_input("Per uscire premi un tasto")


    così anche chi non vuole vedere i crediti deve premere invio.
    Per farlo funzionare a scuola su computer senza python sarebbe da convertirli in exe ma solo sul pc che ho a casa perchè il mio portatile ha dei problemi con cmd.exe...
    [Modificato da johnwhile 12/02/2010 20:14]
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 20:18
    Ok, per il resto è buono???

    In exe come si converte???
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 12/02/2010 20:53
    si va bene, per l'exe dovresti scaricarti py2exe ma comunque non sono mai riuscito a fare niente...
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 12/02/2010 21:05
    Ok, comunque se puoi non usare i testi nascosti mi danno problemi
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 17/02/2010 16:58
    adesso stavo ca22eggiando in internet e ho trovato una cosa che forse interessava a te:
    www.java2s.com/Code/Python/Data-Type/Complexnumbersrepresentedastwofloatingpointnum...
    Python utilizza anche i numeri complessi, forse li puoi utilizzare per trovare radici del polinomio ( con delta negativo ottieni radici complesse)
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 22/02/2010 20:25
    Manuale Python
    Solo per info, ho notato che ci sono ben 240 pagine quindi chi volesse imparare python dove finire di legger questo...
    www.blogwol.com/wp-content/plugins/download-monitor/download....
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 22/02/2010 21:03
    Bello lunghetto però
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 22/02/2010 21:49
    secondo me è corto, più un manuale è lungo meglio è, infatti per questi argomenti più è scritto meglio è, prima di programmare devi sapere tutto, altrimenti è innutile, i corsi intensivi come i miei tutorial li faccio solo io oppure devi pagare un corso...
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 15/05/2010 17:34
    Sono riuscito a far funzionare il py to exe, ho creato un eseguibile di prova di un programma basilare, con tanto di versione, descrizione, autore e icona(ne ho presa una a caso).L'exe si chiama prova.exe, e si trova nella cartella in allegato

    Edit:non mi funziona l'allegato, al più presto ve lo farò vedere
    [Modificato da boboav 15/05/2010 17:51]
  • OFFLINE
    johnwhile
    Post: 3.393
    Post: 2.643
    Registrato il: 05/07/2008
    Città: PORDENONE
    Età: 38
    Sesso: Maschile
    Gubernator
    Consul
    Team Modder
    00 09/10/2010 20:23
    from Tkinter import *
    
    print "trovi tutte le proprietà in http://effbot.org/tkinterbook/checkbutton.htm"
    def ScriviStato():
        if var.get()==0: print "stato 0"
        elif var.get()==1: print "stato 1"
        else: print "non conosciuto : " + str(var.get())
    
    
    root = Tk()
    var = IntVar() #valore del checkbutton di tipo integer 1/0
    # var = StringVar() #valore del checkbutton di tipo stringa "1"/"0"
    
    var.set(1) #valore messo a 1 cioè On
    ch = Checkbutton(root, text="Expand", command=ScriviStato,variable=var)
    ch.pack()
    
    mainloop()
    [Modificato da johnwhile 09/10/2010 20:23]
  • OFFLINE
    boboav
    Post: 5.956
    Post: 1.287
    Registrato il: 28/07/2009
    Città: NAPOLI
    Età: 29
    Sesso: Maschile
    Civis
    Team Modder
    00 09/10/2010 20:31
    Non ho capito a cosa serve mettere il comand nel checkbutton...Io per far partire un comando con il checkbutton avevo pensato a
    if var == 1:
    ...
    Comunque cosa cambia fra i due tipi di var
6