Member 12796896 Ответов: 2

Как я могу исправить свой оператор if?


Привет, у меня возникли некоторые проблемы с проектом для школы. Я должен использовать алгоритм легких, чтобы создать программу для проверки кредитной карты. Оператор if внизу не будет выполняться и печатать сообщение в конце. Любая помощь будет очень признательна.


Card_Number = int ( input ( "Please enter your 16 digit credit card number:" ) )  
Total = 0
Card_Number_String = str ( Card_Number )
a = int ( Card_Number_String [ 0 ] )
b = int ( Card_Number_String [ 1 ] )
c = int ( Card_Number_String [ 2 ] )
d = int ( Card_Number_String [ 3 ] )
e = int ( Card_Number_String [ 4 ] )
d = int ( Card_Number_String [ 5 ] )
f = int ( Card_Number_String [ 6 ] )
g = int ( Card_Number_String [ 7 ] )
h = int ( Card_Number_String [ 8 ] )
i = int ( Card_Number_String [ 9 ] )
j = int ( Card_Number_String [ 10 ] )
k = int ( Card_Number_String [ 11 ] )
l = int ( Card_Number_String [ 12 ] )
m = int ( Card_Number_String [ 13 ] )
n = int ( Card_Number_String [ 14 ] )
o = int ( Card_Number_String [ 15 ] )

if ( a ) % 2 == 0:
    a_Doubled = ( a ) * 2
    if ( a ) > 10:
        Two_Digit_Number_One = ( a ) * 2 
        OneDigit1 = str ( Two_Digit_Number [ 0 ] )
        OneDigit2 = str ( Two_Digit_Number [ 1 ] )
        Two_Digit_Number_One_Sum = str ( ( One_Digit1 ) + ( One_Digit2 ) )
        print ( Two_Digit_Number_One_Sum ) 


Что я уже пробовал:

Я попытался отредактировать оператор if, во всяком случае, я могу думать.

PIEBALDconsult

Не Лунг, А Лун!
https://en.wikipedia.org/wiki/Luhn_algorithm
Ты слишком стараешься. На самом деле все очень просто. И вы должны быть в состоянии сделать это без каких-либо "если".

2 Ответов

Рейтинг:
2

Member 1091218

If будет работать, если 16-значное число начинается с четного числа
например: 4234567891111110


Рейтинг:
1

Patrice T

Это испытание :

if ( a ) > 10:

никогда не подойдет, потому что а-это одна цифра.
Вы намеревались использовать a_Doubled вместо этого ?

Вы должны научиться использовать отладчик как можно скорее. Вместо того чтобы гадать, что делает ваш код, пришло время увидеть, как он выполняется, и убедиться, что он делает то, что вы ожидаете.

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Когда код не делает того, что ожидается, вы близки к ошибке.

Совет: возьмите лист бумаги и попробуйте сделать это вручную, ваша программа должна использовать ту же процедуру.