こんにちは人のpython noobieここ。私は、ユーザーが持っているクレジットカードの種類と、有効かどうかを判断しようとしています。次の例では、Visaカードは4で始まり、両方のカードが両方とも4で始まるので有効です。正面に0がある場合は、スキップします。番号をバイパスする機能が組み込まれているか、すべてのケースのシナリオに入力する必要がありますか?あなたの時間をありがとう。番号をバイパスまたは無視する方法はありますか?
例:
#VISA 0004222222222222 valid
#VISA 4111111111111111 valid
Luhnsアルゴリズム
DEF計算(creditNumber): 長= LEN(creditNumber) oddSum = 0 evenSum = 0
if (length == 0):
return 0
else:
if length % 2 == 0:
last_number = int(creditNumber[-1])
evenSum = evenSum + last_number
return evenSum + calculation(creditNumber[:-1])
else:
last_number = int(creditNumber[-1])
last_number = 2 * last_number
addSum = last_number // 10 + last_number % 10
oddSum = oddSum + addSum
return oddSum + calculation(creditNumber[:-1])
def luhnsCheck():
creditNumber = input ("What is your credit card number?")
#Check to see which type of credit card the user has
# American Express starts with 34 or 37
if creditNumber[0-15]
# Discover starts with 6011
# MasterCard starts with 51 or 52 or 53 or 54 or 55
# VISA starts with 4
creditcard_number = calculation(creditNumber)
# Valid Card
if creditcard_number % 10 == 0:
print("Valid card")
# Invalid Card
else:
print("We do not accept that kind of card")
luhnsCheck()
あなたは1)「バイパス」の意味をもっと説明し、2)これまでに書いたコードを教えてください。 – nbryans
これを行うには他にも使用できます。 'if str [0:4] == '0000':else else:do somethingthing'を実行します。問題に直面している場合は、コードを投稿してください。 –
@SivaShanmugam - '条件:パス; else:function() 'は' if not condition:function() 'として表現されています。 – TigerhawkT3