私はPythonにはかなり新しく、7桁の数字をチェック桁のGTIN-8コードに変換できるプログラムを書いています。それは私がそれを実行することができますが、私は私の電話番号を入力した後、それは私にエラー与える:ハイライトされている部分がある私のコードを実行しているときにインデックスエラーがある
sevenNum = ""
gtinNum = ""
checkDigit = ""
total = ""
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = 0
def GTINCalc():
a = int(sevenNum[0])*3
b = int(sevenNum[1])*1
c = int(sevenNum[2])*3
d = int(sevenNum[3])*1
e = int(sevenNum[4])*3
f = int(sevenNum[5])*1
g = int(sevenNum[6])*3
total = int(a+b+c+d+e+f+g)
checkDigit = (total + 9) // 10 * 10 - total
print("GTIN-8 Code: {0}{1}{2}{3}{4}{5}{6}{7}".format(a, b, c, d, e, f, g, checkDigit))
def sevenNumAsk():
sevenNum = input("Enter a 7 digit number to be converted into a GTIN-8 Number")
if sevenNum.isdigit() == True and len(sevenNum) == 7:
print("Valid Number - Calculating GTIN-8...")
GTINCalc()
else:
print("The number is not valid - please re-enter ")
sevenNumAsk()
sevenNumAsk()
:
IndexError: String index out of range
私のコードを次のようにされて
a = int(sevenNum[0])*3
何か助けていただければ幸いです。ありがとう。
この質問コードのインデントなどに応じて、sevenNumは期待どおりのグローバル変数ではない可能性があります。助言として、引数を渡して変数を渡してみてください(これも一般的にはより良い習慣です)。 –
@ScottStainton Alex Hallが私にそれに対して良い修正を与えました。あなたはインデックスがないということを私は見ている。とにかくありがとうございます。 – Jordan