|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Messaggi: n/a
|
[Python] - Funzioni
Codice:
# -*- coding: cp1252 -*- num=raw_input("Inserisci il numero") def controllonum(): if num==5: print "Bravo, il numero inserito è 5" else: print "Hai sbagliato numero :(" print controllonum() Con questo codice vorrei chiedere a un utente di inserire un numero (e quindi ho usato il raw_input). Una volta che l'ha inserito vorrei fare dei controlli, se il numero è 5 allora ok altrimenti scrivo "Spiacente, hai sbagliato numero". Quando avvio il programma funziona tutto ma: >>> Inserisci il numero6 Hai sbagliato numero ![]() None >>> Inserisci il numero5 Hai sbagliato numero ![]() None Cos'è quel none? ![]() E come mai da sempre "hai sbagliato numero"? Ultima modifica di sim89 : 05-08-2008 alle 19:45. |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2007
Messaggi: 499
|
num devi passarlo alla funzione e il none è perchè la funzione non ritorna niente quindi stampi niente
![]()
__________________
![]() ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
|
ma raw_input non è per le stringhe?
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R |
![]() |
![]() |
![]() |
#4 |
Messaggi: n/a
|
![]() Codice:
# -*- coding: cp1252 -*- num=raw_input("Inserisci il numero") def controllonum(num): if num==5: print "Il numero inserito è 5" else: print "Hai sbagliato numero :(" print controllonum("num") |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 384
|
Ciao!
allora vediamo di dissipare tutti i dubbi: L'ultima riga del tuo codice fa stampare il valore che la funzione ritorna. Non essendoci nessun return che faccia ritornare un valore la funzione non ritorna nulla, none per l'appunto. Per fare ciò che vuoi tu ti è sufficiente richiamare la funzione senza la print davanti Quote:
Ciao Ultima modifica di xblitz : 05-08-2008 alle 20:11. |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Obfuscated Python code
Codice:
# -*- coding: cp1252 -*- print {"5" : "Il numero inserito è 5"}.get(raw_input("Inserisci il numero"), "Hai sbagliato numero :(") ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
![]() Non mi fare queste cose! E io che cominciavo ad apprezzare Python... ![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
No if, more pleasure.
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#9 | |
Messaggi: n/a
|
Quote:
![]() però se inserisco il numero 6 e sbaglio, non mi ripresenta la domanda (inserisci il numero). Io avevo in mente di fare una cosa così: 1- Chiedo all'utente di inserire un numero 2- Chiamo la funzione che mi controlla se il numero è uguale a 5 3- Nel caso non lo fosse torno allo "step" 1 Scusate se rompo ma non riesco a usare ste funzioni e sulla guida mi incasino ancora di più ![]() |
|
![]() |
![]() |
#10 |
Messaggi: n/a
|
EDIT:
Ho fatto così: Codice:
# -*- coding: cp1252 -*- conta=1 while conta<10: print {"5" : "Il numero inserito è 5"}.get(raw_input("Inserisci il numero"), "Hai sbagliato numero :(") conta=conta+1 Ultima modifica di sim89 : 06-08-2008 alle 11:44. |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
|
ma non basta mettere input al posto di raw_input?
oppure dopo raw_input metti num=int(num) Poi scrivere print controllonum() è inutile visto che la stampa la fa dentro la funzione; basta controllonum()
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Era soltanto un "proof of concept" per risolvere il problema senza if, ma non andava preso così, specialmente per chi sta iniziando a programmare. ![]() Il codice sistemalo così: Codice:
# -*- coding: cp1252 -*- Dato = "" while Dato != "5": Dato = raw_input("Inserisci il numero") Risposta = "Il numero inserito è 5" if Dato == '5' else "Hai sbagliato numero :(" print Risposta
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#13 |
Messaggi: n/a
|
L'ho sistemato, grazie per la pazienza
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
si ma gli hai tolto le funzioni che è quello che voleva imparare
![]() |
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
![]() |
![]() |
![]() |
#16 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Ecco qui: Codice:
# -*- coding: cp1252 -*- def Risposta(Dato): return "Il numero inserito è 5" if Dato == '5' else "Hai sbagliato numero :(" Dato = "" while Dato != "5": Dato = raw_input("Inserisci il numero") print Risposta(Dato) ![]() Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#17 |
Messaggi: n/a
|
Eccolo!
![]() Grazie del codice, mi hai illuminato, adesso ho capito come va impostato il tutto. Grazie ancora ![]() ![]() Ultima modifica di sim89 : 06-08-2008 alle 19:58. |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
![]() ![]() ciao ![]()
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:25.