ねえ、私はかなりプログラミング世界に新しいです。学校の練習問題については、私は以下のテキストを与えられました。私はこれをコードに変換すると仮定しています。私はそれに数時間を費やして、それを理解するように見えることはできませんが、私はこれを学ぶことに決めました。現在エラーが発生していますLuhnのアルゴリズムコードに擬似コード
line 7, in <module> if i % 2 == 0: TypeError: not all arguments converted during string formatting
これはどういう意味ですか?私はまだループを学習していて、正しい形式かどうかはわかりません。御時間ありがとうございます。あなたが行うとき
1):
# GET user's credit card number
# SET total to 0
# LOOP backwards from the last digit to the first one at a time
# IF the position of the current digit is even THEN
# DOUBLE the value of the current digit
# IF the doubled value is more than 9 THEN
# SUM the digits of the doubled value
# ENDIF
# SUM the calculated value and the total
# ELSE
# SUM the current digit and the total
# ENDIF
# END loop
# IF total % 10 == 0 THEN
# SHOW Number is valid
# ELSE
# SHOW number is invalid
# ENDIF
creditCard = input("What is your creditcard?")
total = 0
for i in creditCard[-1]:
if i % 2 == 0:
i = i * 2
if i > 9:
i += i
total = total + i
else:
total = total + i
if total % 10 == 0:
print("Valid")
else:
print("Invalid")
'クレジットカードが[-1]'あなたに与えます*のみ*最後の要素。 'creditCard [:: - 1]'は、代わりに 'creditCard'の逆を返します(あるいは単に' reversed(creditCard) 'を使用します)。 – Evert
あなたはPython 2または3を使用していますか? 3の場合は、入力を整数に変換する必要があります –