Хорошо, Так что я думаю, что я почти там, моей первой/второй часть работы идеально, когда они сами по себе, но у меня возникают проблемы, сочетающие два это то, что я до сих пор Я думаю, ошибка в последнем бите, жаль, им новые с питоном, так что я надеюсь получить повесить его в ближайшее времяНе знаю, как исправить эту ошибку Луны Алгоритм PYTHON
EDIT3: Я получил он работает (с помощью вас, ребята), но теперь, когда я ввожу 3782822463100050, его предполагается быть недействительным для американского экспресса, но его показания действительны для американского экспресс ...
Edit1: Хорошо, к примеру, когда я отправляю 0378282246310005
(подделка American Express) он говорит
Traceback (most recent call last):
File "C:/Users/Nat/Desktop/attempt.py", line 39, in <module>
print((cardType)+"Valid")
NameError: name 'cardType' is not defined
но когда я вставить случайное число, как 0378282246310005
работает
Пожалуйста, введите номер кредитной карты 0378282246310005
Мы не принимаем карты такого типа
Edit2: в конце концов, вы должны быть в состоянии ввести номер кредитной карты, и он будет говорить «Ваш„тип кредитной карты“является действительным (или недействительным)
или сказать, что «мы не поддерживаем карту»
#GET number that will be tested
CreditNumber = input("Please enter your credit card number")
#SET total to 0
total=0
#LOOP backwards from the last digit to the first, one at a time
CreditCount = len(CreditNumber)
for i in range(0, CreditCount, -1):
LastDigit=CreditCard[i]
#IF the position of the current digit is even THEN DOUBLE the value of the current digit
if i % 2 ==0:
LastDigit=LastDigit*2
#IF the doubled value is more than 9 THEN SUM the digits of the doubled value
if LastDigit>9:
LastDigit=LastDigit/10+LastDigit%10
total=total + digit
#Figure out what credit card the user has
if (CreditNumber[0:2]=="34" or CreditNumber[ 0:2 ] == "37"):
cardType = "Your American Express is"
elif (CreditNumber[ 0 :4 ] =="6011"):
cardType = "Your Discover card is"
elif (CreditNumber[0 :2 ] in [ "51", "52", "53", "54", "55"]):
cardType = "Your Mastercard is"
elif (CreditNumber == "4"):
cardType = "Your VISA card is"
else:
print("We do not accept that kind of card")
if total % 10 == 0:
print((cardType)+"Valid")
else:
print((cardType)+"Invalid")
Просьба пояснить, что именно не работает прямо сейчас? Показывать полную трассировку стека. Если у вас нет ошибок, какой результат вы получаете, что не соответствует вашим ожиданиям? Вы хотите собрать [mcve], чтобы помочь читателю узнать, как вам помочь. – idjaw
Я добавил изменения! спасибо – NatalieRenee
Это незначительная проблема, и это не имеет особого отношения к вашему вопросу, но вы должны рассмотреть возможность резервирования имен CapitalCase для имен классов, а не имен переменных. Это стандарт почти на каждом языке. –