PDA

Visualizza la versione completa : python raw_input() e input()


string
30-01-2004, 11:28
vorrei sapere se e' possibile "unire" le due funzioni...
ovvero vorrei una funzione che accetti sia numeri che stringhe..
esiste????
grazie a ki rispondera'...
:adhone:

Lardoman
30-01-2004, 15:18
No, non è possibile. Cmq con raw_input () puoi cmq inserire dei numeri anche se vengono consioderati come caratteri quindi ad esempio nn si possono fare operazioni fra essi.

string
30-01-2004, 21:13
comunque cercando ho trovato una soluzione..un po' scomoda!!
se a input() dai il valore di un carattere ma lo metti tra virgolette, e' accettato...
ma e' inutile per quello ke serve a me...
:ciauz:

toraz
31-01-2004, 00:48
una soluzione che puoi adottare che non so se possa andare bene nel tuo caso (anche perchè non so qual'è il tuo caso :)) è usare una cosa del genere


variabile = int( raw_input() )

che prende la stringa dall'input e la converte direttamente in un intero... ovviamente se gli vuoi passare una stringa succede un macello (non ho provato ma direi che solleverebbe un'eccezione ValueError)... così su due piedi non saprei trovarti una soluzione (anche perchè non sono una cima in materia :)) ma magari se provi a spiegare di preciso cosa ti serve fare posso provare a darti una mano :ciauz:

Lardoman
31-01-2004, 13:53
Originariamente inviato da string
comunque cercando ho trovato una soluzione..un po' scomoda!!
se a input() dai il valore di un carattere ma lo metti tra virgolette, e' accettato...
ma e' inutile per quello ke serve a me...
:ciauz:

Si, però così devi costringere l'utente del tuo programma a scrivere la stringa tra virgolette...e nn è molto bello

Se invece il prog lo devi usare solo te, allora è un altra storia

Ah, sarebbe meglio che dicessi cosa devi fare così ti si può aiutare meglio.

Ciao :tongue:

string
04-02-2004, 15:10
e' un po' lungo da spiegare cosa mi serve...quindi ve lo dico con un semplice esempio!!
mettiamo il mio programma sia una calcolatrice...
avremo:
num = input(">>> ") # primo numero
oprt = raw_input("(+, *, -, /) >>> ") # a seconda dell'operazione!!
num2 = input(">>> ") #secondo numero

se io volessi avere un programma ke, in ogni momento, puo' darmi la possibilita' di uscire digitando (per esempio) "q", questo non sarebbe permesso nel primo e nel terzo caso...
non so se mi sono spiegato bene!!!!!!!
:D

Lardoman
04-02-2004, 15:28
Certo perchè input () accetta solo i numeri.

Cmq nn capisco dov'è il problema...semplicemente aggiungi un altra istruzione if del tipo




if oprt=="q":
exit ()



PS:mi sembra che per usare exit () devi importare il modulo sys

string
04-02-2004, 15:46
si ma non voglio digitare "q"... bensi' solo q.. :quipy:

Lardoman
04-02-2004, 15:58
Eh,perchè nell'esempio che ti ho fatto io cos'é???

string
04-02-2004, 16:00
lo hai provato???da errore... :dhò:

Loading