l'indentation d'erreur avec python 3.3 lorsque python2.7 fonctionne bien
J'ai écrit ce script ci-dessous qui convertit un numéro à son orthographe.
no = raw_input("Enter a number: ")
strcheck = str(no)
try:
val = int(no)
except ValueError:
print("sayi degil")
raise SystemExit
lencheck = str(no)
if len(lencheck) > 6:
print("Bu sayi cok buyuk !")
raise SystemExit
n = int(no)
print(n)
def int2word(n):
n3 = []
r1 = ""
ns = str(n)
for k in range(3, 33, 3):
r = ns[-k:]
q = len(ns) - k
if q < -2:
break
else:
if q >= 0:
n3.append(int(r[:3]))
elif q >= -1:
n3.append(int(r[:2]))
elif q >= -2:
n3.append(int(r[:1]))
r1 = r
#print(n3)
nw = ""
for i, x in enumerate(n3):
b1 = x % 10
b2 = (x % 100)//10
b3 = (x % 1000)//100
if x == 0:
continue
else:
t = binler[i]
if b2 == 0:
nw = birler[b1] + t + nw
elif b2 == 1:
nw = onlar[1] + birler[b1] + t + nw
elif b2 > 1:
nw = onlar[b2] + birler[b1] + t + nw
if b3 > 0:
nw = birler[b3] + "yuz " + nw
return nw
birler = ["", " ","iki ","uc ","dort ", "bes ", "alti ","yedi ","sekiz ","dokuz "]
onlar = ["", "on ", "yirmi ", "otuz ", "kirk ", "elli ", "altmis ", "yetmis ", "seksen ", "doksan "]
binler = ["", "bin"]
print int2word(n)
De ces scripts fonctionne assez bien sur Python2.7.
Mais quand j'essaie de le lancer avec python3.3
Il me donne l'erreur ci-dessous:
File "numtospell.py", line 58
if x == 0:
^
TabError: inconsistent use of tabs and spaces in indentation
J'ai cherché pendant des heures mais ne peut pas trouver une solution adaptée. Que dois-je faire pour résoudre ce problème?
Merci pour toute aide.
OriginalL'auteur cankemik | 2013-10-10
Vous devez vous connecter pour publier un commentaire.
On mélange les tabulations et des espaces.
Python 3 interdit explicitement. Utiliser des espaces seulement pour l'indentation.
Citant le Python Guide De Style (PEP 8):
C'est moi qui souligne.
Presque tous les éditeurs peuvent être configurés pour remplacer les tabulations par des espaces lors de la saisie, ainsi que de faire une recherche et remplacer l'opération qui remplace les tabulations par des espaces.
OriginalL'auteur Martijn Pieters