karl90 Pubblicato: 14 Aprile 2008 Segnalazione Share Pubblicato: 14 Aprile 2008 Salve a tutti ragazzi è la prima volta ke scrivo...sono alle prese con il mio primo programma. Il mio problema è che non riesco a far "printare"una variabile float. Per esempio avendo "c" che è uguale al prodotto a*b dove "a" e "b": a = appuifw.query(u'Inserisci primo valore', 'float' ) b = appuifw.query(u'Inserisci secondo vaalore, 'float' ) non riesco a far stampare "c", cioè ci riesco, ma usando la semplice istruzione: print c Se rendo l'espressione più complessa scrivendo per esempio questo: print 'Il valore totale è ', c non mi restituisce nessun valore...Ho pensato che il problema sta nel fatto che "a" e "b" e di conseguenza "c" sono valori decimali... Ho provato anche con: print 'Il valore totale è %.3f' % c89 Come devo fare? La sintassi del comando print cambia a seconda la tipologia di variabile da printare? L'altra mia domanda è: esistono comandi del tipo goto e quit ( per kiudere il programma immediatamente)? Grazie a tutti in anticipo Link to comment Condividi su altri siti More sharing options...
pandipo Pubblicato: 14 Aprile 2008 Segnalazione Share Pubblicato: 14 Aprile 2008 HAi provato a sostituire, a float "number"? Link to comment Condividi su altri siti More sharing options...
karl90 Pubblicato: 14 Aprile 2008 Autore Segnalazione Share Pubblicato: 14 Aprile 2008 HAi provato a sostituire, a float "number"? No perchè i numeri mi servono decimali perchè il programma serve a calcolare il vaalore della resistenza equivalente a un parallelo tra due o più resistenze Link to comment Condividi su altri siti More sharing options...
memoryn70 Pubblicato: 14 Aprile 2008 Segnalazione Share Pubblicato: 14 Aprile 2008 L'altra mia domanda è: esistono comandi del tipo goto e quit ( per kiudere il programma immediatamente)?Grazie a tutti in anticipo Beh non siamo mica sul BASIC!! Python è un linguaggio moderno...utilizza le funzioni e le classi e per uscire o usi sys.exit() oppure appuifw.app.set_exit...oppure acnora se lo script è eseguito in shell se non si hanno cicli attivi l'app finisce automaticamente a fine script ES: import --- app_lock=e32.ao_lock() def funz(): pass funz() #Al termine dell'esecuzione di funz, lo script termina! #Se però qui metti: while var_booleana: e32.ao_yield() #Rimane fermo tutto #Oppure usa il lock che fornisce e32 app_lock.wait() #Che puoi sbloccare facendo ad esempio una funzione "esci" che contiene app_lock.signal() Ciao! Link to comment Condividi su altri siti More sharing options...
memoryn70 Pubblicato: 14 Aprile 2008 Segnalazione Share Pubblicato: 14 Aprile 2008 (modificato) Salve a tutti ragazzi è la prima volta ke scrivo...sono alle prese con il mio primo programma. Il mio problema è che non riesco a far "printare"una variabile float. Per esempio avendo "c" che è uguale al prodotto a*b dove "a" e "b": a = appuifw.query(u'Inserisci primo valore', 'float' ) b = appuifw.query(u'Inserisci secondo vaalore, 'float' ) non riesco a far stampare "c", cioè ci riesco, ma usando la semplice istruzione: print c Se rendo l'espressione più complessa scrivendo per esempio questo: print 'Il valore totale è ', c non mi restituisce nessun valore...Ho pensato che il problema sta nel fatto che "a" e "b" e di conseguenza "c" sono valori decimali... Ho provato anche con: print 'Il valore totale è %.3f' % c89 Come devo fare? La sintassi del comando print cambia a seconda la tipologia di variabile da printare? La sintassi di print è sempre quella... Cmq prova a fare: print "%f"%float(a+b ) Cmq metti sempre float per essere sicuro se vuoi un float Modificato 14 Aprile 2008 da memoryn70 Link to comment Condividi su altri siti More sharing options...
memoryn70 Pubblicato: 14 Aprile 2008 Segnalazione Share Pubblicato: 14 Aprile 2008 (modificato) La sintassi di print è sempre quella...Cmq prova a fare: print "%f"%float(a+b ) Cmq metti sempre float per essere sicuro se vuoi un float Oppure fai cosi: print "Totale: "+ str( c ) Modificato 14 Aprile 2008 da memoryn70 Link to comment Condividi su altri siti More sharing options...
karl90 Pubblicato: 15 Aprile 2008 Autore Segnalazione Share Pubblicato: 15 Aprile 2008 Ok grazie a tutti, appena posso provo i vostri consigli e vi faccio sapere... Link to comment Condividi su altri siti More sharing options...
karl90 Pubblicato: 15 Aprile 2008 Autore Segnalazione Share Pubblicato: 15 Aprile 2008 (modificato) Ok grazie a tutti, appena posso provo i vostri consigli e vi faccio sapere... Ma perchè non mi funziona niente? ho provato anche a fare uno script del tipo: a = 10.78 print "Il valore di a è" + str( a ) Oppure: a = 10.78 print "Il valore di a è %f "%float( a ) ma non vanno! comunque il print vuole l'apice singolo o doppio come avete scritto voi? Ah cmq nella shell interattiva funzionano entrambi: PythonWin 2.4.3 (#69, Apr 11 2006, 15:32:42) [MSC v.1310 32 bit (Intel)] on win32. Portions Copyright 1994-2004 Mark Hammond (mhammond@skippinet.com.au) - see 'Help/About PythonWin' for further copyright information. >>> a=10 >>> print 'Il valore di a è %f' %float( a ) Il valore di a è 10.000000 >>> print 'Il valore di a è' + str( a ) Il valore di a è10 >>> Modificato 15 Aprile 2008 da karl90 Link to comment Condividi su altri siti More sharing options...
karl90 Pubblicato: 16 Aprile 2008 Autore Segnalazione Share Pubblicato: 16 Aprile 2008 Alla fine il problema del print stava nella "e" accentata..poichè io scrivevo "Il valore della resistenza equivalente al parallelo è:"...Credevo che python accettasse le lettere accentate Link to comment Condividi su altri siti More sharing options...
memoryn70 Pubblicato: 16 Aprile 2008 Segnalazione Share Pubblicato: 16 Aprile 2008 Alla fine il problema del print stava nella "e" accentata..poichè io scrivevo "Il valore della resistenza equivalente al parallelo è:"...Credevo che python accettasse le lettere accentate Le accetta ma devi usare la codifica...utilizza unicode...u""... Link to comment Condividi su altri siti More sharing options...
karl90 Pubblicato: 16 Aprile 2008 Autore Segnalazione Share Pubblicato: 16 Aprile 2008 Grazie problema risolto...kmq quando definisco una funzione, e poi la rikiamo da una certa posizione, quando termina di eseguire la funzione python kontinua ad eseguire dal punto in kui l'ha rikiamata?Non so se sono stato kiaro! Link to comment Condividi su altri siti More sharing options...
pandipo Pubblicato: 17 Aprile 2008 Segnalazione Share Pubblicato: 17 Aprile 2008 Grazie problema risolto...kmq quando definisco una funzione, e poi la rikiamo da una certa posizione, quando termina di eseguire la funzione python kontinua ad eseguire dal punto in kui l'ha rikiamata?Non so se sono stato kiaro! si... Che palle le ore di epica! Meno male che c'è opera mini! stai attento a mettere troppe "c"! Link to comment Condividi su altri siti More sharing options...
karl90 Pubblicato: 17 Aprile 2008 Autore Segnalazione Share Pubblicato: 17 Aprile 2008 si... Che palle le ore di epica! Meno male che c'è opera mini! stai attento a mettere troppe "c"! Hihi scusate ma avevo scritto di fretta Link to comment Condividi su altri siti More sharing options...
karl90 Pubblicato: 17 Aprile 2008 Autore Segnalazione Share Pubblicato: 17 Aprile 2008 Ragazzi funzione getch() o Repeat Until KeyPressed? Scusate se sono anticoooooo Link to comment Condividi su altri siti More sharing options...
memoryn70 Pubblicato: 18 Aprile 2008 Segnalazione Share Pubblicato: 18 Aprile 2008 Ragazzi funzione getch() o Repeat Until KeyPressed? Scusate se sono anticoooooo Calmo ! Non siamo nemmeno in Pascal !! Ma ti sei letto alcune guide?? Link to comment Condividi su altri siti More sharing options...
karl90 Pubblicato: 18 Aprile 2008 Autore Segnalazione Share Pubblicato: 18 Aprile 2008 Calmo ! Non siamo nemmeno in Pascal !! Ma ti sei letto alcune guide?? Gli unici compilatori che ho usato sono C++, Pascal e mplab!Comunque si ho letto vari tutorial, ma spesso in guide o tutorial, essendo magari troppo vasti, non ci si riesce a trovare quello che si cerca! Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora