Lista Utenti taggati

Risultati da 1 a 6 di 6

Discussione: Programma python

  1. #1
    Utente Attivo
    Data Registrazione
    06-07-11
    Messaggi
    754
    Specifiche del sistema
    Ringraziamenti / Mi Piace
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Predefinito Programma python

    Ciao a tutti, sto imparando un pò il Python e volevo creare un programma che ti chiedeva quali dati hai a disposizione tra spazio, tempo e velocità e calcolarti quindi il tempo, lo spazio o la velocità. Il problema è che se al mio programma dico che ho la velocità e il tempo, me li calcola e poi mi richiede quali dati ho all'infinito. Se invece li dico che ho altri dati(come ad es. spazio e tempo)non me lo calcola e mi richiede solamente i dati all'infinito. Questo è il programma:
    -----------------------------------------------------------------------------------
    Dati="Quali dati hai a disposizione(velocità, tempo e spazio)?[scrivi in minuscolo]\n"
    Spazio="Spazio: "
    Velocità="Velocità: "
    Tempo="Tempo: "




    def Risultato():
    if input(Dati)=="velocità e tempo":
    print("Il risultato è: Spazio= ",int(input(Velocità))*int(input(Tempo))) #funziona solo se immetto velocità e tempo
    elif input(Dati)==("tempo e velocità"):
    print("Il risultato è: Spazio= ",int(input(Tempo))*int(input(Velocità)))
    elif input(Dati)==("velocità e spazio"):
    print("Il risultato è: Tempo= ",int(input(Spazio))/int(input(Velocità)))
    elif input(Dati)==("spazio e velocità"):
    print("Il risultato è: Tempo= ",int(input(Spazio))/int(input(Velocità)))
    elif input(Dati)==("tempo e spazio"):
    print("Il risultato è: Velocità= ",int(input(Spazio))/int(input(Tempo)))
    elif input(Dati)==("spazio e tempo"):
    print("Il risultato è: Velocità= ",int(input(Spazio))/int(input(Tempo)))

    Risultato()
    -----------------------------------------------------------------------------------
    Dato che sono nuovo nel mondo di python e della programmazione, non so se ho sbagliato la funzione if, se ho sbagliato i parametri della definizione oppure ho sbagliato a strutturare il programma.
    Qual è lo sbaglio?
    Ah, un'altra cosa, ogni volta che chiudo l'edito(pyscripter), quando riapro mi trovo tutte le parole accentate sostituite da questo segno "Ã"...da che dipende?
    Grazie


    Motherboard
    Asus P5B socket 775 Cpu Intel Pentium E2160 dual-core @3,00 Ghz overclocked Scheda grafica nVidia GT 220 1 GB Ram 2x 1gb Kingston DDR2 Hard Disk Maxtor 200 GB Alimentatore LC POWER 450 W Monitor Asus lcd 20" OS Windows XP-Vista-7 e Linux Ubuntu

  2.  
    Stanco della Pubblicità? Registrati

  3. #2
    Utente Attivo
    Data Registrazione
    02-09-10
    Messaggi
    74
    Specifiche del sistema
    Ringraziamenti / Mi Piace
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Predefinito Re: Programma python

    Codice:
    Dati="Quali dati hai a disposizione(velocità, tempo e spazio)?[scrivi in minuscolo]\n"
    Spazio="Spazio: "
    Velocità="Velocità: "
    Tempo="Tempo: "
    
    def Risultato():
      parametri = input(Dati)
      if parametri=="velocità e tempo":
        print("Il risultato è: Spazio= ",int(input(Velocità))*int(input(Tempo)))
      elif parametri=="tempo e velocità":
        print("Il risultato è: Spazio= ",int(input(Tempo))*int(input(Velocità)))
      elif parametri=="velocità e spazio":
        print("Il risultato è: Tempo= ",int(input(Spazio))/int(input(Velocità)))
      elif parametri=="spazio e velocità":        
        print("Il risultato è: Tempo= ",int(input(Spazio))/int(input(Velocità)))
      elif parametri=="tempo e spazio":
        print("Il risultato è: Velocità= ",int(input(Spazio))/int(input(Tempo)))
      elif parametri=="spazio e tempo":
        print("Il risultato è: Velocità= ",int(input(Spazio))/int(input(Tempo)))
    
    Risultato()
    Così funziona... il problema era dovuto al fatto che usavi la condizione input(Dati) == "qualcosa", dunque se la prima condizione non era verificata, veniva chiamata nuovamente la funzione input (quindi dovevi inserire nuovamente i dati) e, se inserivi "tempo e velocità" ok, altrimenti veniva valutata la condizione elif successiva (quindi altra chiamata alla funzione input...), etc etc. Ora, invece, chiedi i due parametri a disposizione prima del blocco if, li metti in una variabile ed ogni volta fai il confronto con i dati contenuti nella variabile (quindi richiami input una volta sola).

    Riguardo i caratteri, devi impostare l'editor in modo che usi come codifica predefinita UTF-8 e non hai problemi

  4. #3
    Utente Attivo
    Data Registrazione
    06-07-11
    Messaggi
    754
    Specifiche del sistema
    Ringraziamenti / Mi Piace
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Predefinito Re: Programma python

    Sei un mito!!!!
    Dato che ci sono ti chiedo una cosa: si può fare che il programma capisce cosa gli scrivo senza vedere il maiuscolo e il minuscolo?
    ad esempio se gli scrivo "velocità e tempo" capisce, ma se scrivo"VELOCITà E TEMPO" oppure "Velocità e tempo" non capisce...senza scrivere if parametri=="velocità e tempo" or "VELOCITà E TEMPO"...esiste un metodo più veloce?
    Ultima modifica di qwerty17; 17-11-2011 alle 14:47


    Motherboard
    Asus P5B socket 775 Cpu Intel Pentium E2160 dual-core @3,00 Ghz overclocked Scheda grafica nVidia GT 220 1 GB Ram 2x 1gb Kingston DDR2 Hard Disk Maxtor 200 GB Alimentatore LC POWER 450 W Monitor Asus lcd 20" OS Windows XP-Vista-7 e Linux Ubuntu

  5. #4
    Utente Attivo
    Data Registrazione
    02-09-10
    Messaggi
    74
    Specifiche del sistema
    Ringraziamenti / Mi Piace
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Predefinito Re: Programma python

    Puoi usare la funzione string.lower, che prende in input una stringa e te ne restituisce una nuova in cui tutti i caratteri sono in minuscolo... per poterla usare, devi importare il modulo string: basta che inserisci all'inizio del sorgente
    Codice:
    import string
    Ora basta che modifichi la riga
    Codice:
    parametri = input(Dati)
    con
    Codice:
    parametri = string.lower(input(Dati))
    e dovrebbe funzionare tutto

  6. #5
    Utente Attivo
    Data Registrazione
    06-07-11
    Messaggi
    754
    Specifiche del sistema
    Ringraziamenti / Mi Piace
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Predefinito Re: Programma python

    Ho risolto il problema(non è string.lower(input(Dati)) ma str.lower(input(Dati)))
    Ti volevo dire un'altra cosa(questa discussione non avrà mai fine )

    Il problema con i caratteri ce l'ho ancora, ho aggiunto # -*- coding: UTF-8 -*- all'inizio e alla fine del programma, però quando chiudo e riapro i caratteri accentati me li dà con quel simbolo strano(forse è un problema di pyscripter?)...e conosci qualche editor migliore di pyscripter??non mi ci trovo molto bene per questo problema e perchè spesso mi riempie automaticamente le parole senza che io gli dica niente...ad esempio sto per scrivere "velocità" e lui mi scrive "ValueErrorelocità".


    Motherboard
    Asus P5B socket 775 Cpu Intel Pentium E2160 dual-core @3,00 Ghz overclocked Scheda grafica nVidia GT 220 1 GB Ram 2x 1gb Kingston DDR2 Hard Disk Maxtor 200 GB Alimentatore LC POWER 450 W Monitor Asus lcd 20" OS Windows XP-Vista-7 e Linux Ubuntu

  7. #6
    Utente Attivo
    Data Registrazione
    06-07-11
    Messaggi
    754
    Specifiche del sistema
    Ringraziamenti / Mi Piace
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Predefinito Re: Programma python

    up!


    Motherboard
    Asus P5B socket 775 Cpu Intel Pentium E2160 dual-core @3,00 Ghz overclocked Scheda grafica nVidia GT 220 1 GB Ram 2x 1gb Kingston DDR2 Hard Disk Maxtor 200 GB Alimentatore LC POWER 450 W Monitor Asus lcd 20" OS Windows XP-Vista-7 e Linux Ubuntu

  8.  
    Stanco della Pubblicità? Registrati

Informazioni Discussione

Utenti che Stanno Visualizzando Questa Discussione

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Discussioni Simili

  1. Problemi con python...
    Di Light Yagami nel forum Programmazione
    Risposte: 2
    Ultimo Messaggio: 11-04-2011, 15:21
  2. [C][Python]Calcolatrici
    Di ciaox nel forum Programmazione
    Risposte: 12
    Ultimo Messaggio: 15-10-2010, 13:13
  3. [Python]aiuto per esame!!
    Di anty77 nel forum Programmazione
    Risposte: 2
    Ultimo Messaggio: 11-03-2010, 19:29
  4. visual python
    Di florius nel forum Software e utility
    Risposte: 3
    Ultimo Messaggio: 13-11-2009, 13:26
  5. linguaggio Python
    Di florius nel forum Programmazione
    Risposte: 2
    Ultimo Messaggio: 17-10-2009, 13:10

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Torna Su