PDA

View Full Version : |Python| Problemi coi numeri...


VBProgramming
07-11-2007, 17:13
Ciao a tutti, rieccomi. Sto programmando in Python, e devo dire che è proprio un buon linguaggio. Ma non riesco a capire una cosa: data una stringa numerica, come posso far partire una istruzione relativa all'ultima cifra?
Per esempio, supponiamo di avere una linea con i seguenti numeri: "152764789". Voglio che Python stampi un "Hello world" se l'ultima cifra è un 9. Come faccio?

altairz
08-11-2007, 12:48
con una slice:

if stringaNumerica[-1] == '9': print "Hello World!"

oppure

if int(stringaNumerica[-1]) == 9: print "Hello World!"

se invece hai un numero, la soluzione più semplice (ma poco elegante) potrebbe essere quella di convertire il numero in stringa ed utilizzare la slice per ottenere l'ultimo carattere, poi convertirlo in int ed effettuare il confronto. Lo sò, fa abbastanza schifo, ma è la prima cosa che mi è venuta in mente :asd:

numero = 152764789
stringa = str(numero)
ultimaCifra = int(stringa[-1])

oppure direttamente

ultimaCifra = int(str(numero)[-1])

^TiGeRShArK^
08-11-2007, 13:15
con una slice:

if stringaNumerica[-1] == '9': print "Hello World!"

oppure

if int(stringaNumerica[-1]) == 9: print "Hello World!"

se invece hai un numero, la soluzione più semplice (ma poco elegante) potrebbe essere quella di convertire il numero in stringa ed utilizzare la slice per ottenere l'ultimo carattere, poi convertirlo in int ed effettuare il confronto. Lo sò, fa abbastanza schifo, ma è la prima cosa che mi è venuta in mente :asd:

numero = 152764789
stringa = str(numero)
ultimaCifra = int(stringa[-1])

oppure direttamente

ultimaCifra = int(str(numero)[-1])

così invece?

numero = 152764789
if numero and 9 == 9:
print 'Hello world!'

VBProgramming
08-11-2007, 16:17
con una slice:

if stringaNumerica[-1] == '9': print "Hello World!"

oppure

if int(stringaNumerica[-1]) == 9: print "Hello World!"

se invece hai un numero, la soluzione più semplice (ma poco elegante) potrebbe essere quella di convertire il numero in stringa ed utilizzare la slice per ottenere l'ultimo carattere, poi convertirlo in int ed effettuare il confronto. Lo sò, fa abbastanza schifo, ma è la prima cosa che mi è venuta in mente :asd:

numero = 152764789
stringa = str(numero)
ultimaCifra = int(stringa[-1])

oppure direttamente

ultimaCifra = int(str(numero)[-1])
Grazie mille ho risolto

altairz
09-11-2007, 08:08
così invece?

numero = 152764789
if numero and 9 == 9:
print 'Hello world!'


non l'ho capita. Ho provato a fare


num = 123
if numero and 9 == 9:
print 'Hello world!'


ed il confronto dà come risultato True. In realtà

numero and cifra

restituisce sempre la cifra, qualunque sia il numero.