|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2004
Messaggi: 74
|
[PYTHON] Domanda stupida?
Python 2.4.3 (#1, Apr 4 2006, 22:44:32)
[GCC 3.3.6] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> i = 0 >>> len(str(i)) 1 >>> i = 10 >>> len(str(i)) 2 >>> i = 01 >>> len(str(i)) 1 >>> i = 010 >>> len(str(i)) 1 >>> i = 100 >>> len(str(i)) 3 >>> Ma... secondo voi non è strana sta cosa? come faccio a contare le cifre di un numero se si comporta cosi? ciao
__________________
enjoy |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 611
|
Quote:
|
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Sep 2004
Messaggi: 74
|
Beh.. si. Hai ragione però in python la funzione str(x) restituisce il valore x sotto forma di stringa... quindi?
hola
__________________
enjoy |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Con lo 0 davanti 010 è rappresentato come numero ottale, per cui i non vale 10 (decimale), ma 8.
__________________
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 |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Sep 2004
Messaggi: 74
|
in questo caso però non vale...
i = 063 len(str(i)) 2 ...
__________________
enjoy |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Vale ancora: 63 in ottale equivale a 51 decimale.
![]()
__________________
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: Dec 2005
Messaggi: 611
|
Quote:
|
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Sep 2004
Messaggi: 74
|
Scusate se mi dilungo ancora...
vi dico per intero il mio problema: diciamo che abbiamo un stringa di nome "miciomiciobaubau001" e diciamo che io voglio incrementare il valore numerico alla sua fine "miciomiciobaubau002" "miciomiciobaubau003" etc dapprima affetto gli ultimi 3 caratteri "001" li converto in numeri con la funzione int(x) ci sommo 1 ristrasformo il tutto in stringa "002" e lo "incollo" alla stringa iniziale "miciomiciobaubau002" Questo è quello che vorrei fare ma quando faccio la conversione mi perdo qualche zero per strada. Scusate ancora se approfitto ma non so dove sbattere la testa. ![]() ciao
__________________
enjoy |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
|
Purtroppo so pochissimo il Python ...
Comunque quando converti la stringa "001" in numero 1, poi riconverti l' 1 in stringa --> "1", controlli la lunghezza della stringa e se = 1 allora ci aggiungi all' inizio due zeri, se = 2 allora ci aggiungi all' inizio uno zero, se = 3 non fai niente perchè già di lunghezza giusta. Anche in vb e c# quando devo usare certi metodi, sfrutto questa piccola funzione che mi sono fatto.
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Ad esempio: Codice:
for n in range(10): print "miciomiciobaubau%03d" % n http://docs.python.org/lib/typesseq-strings.html
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:33.