问题描述
我必须为我的课程计算思维分配作业,但是当我输入此有效信用卡号作为输入时,它总是说该号码无效,有人知道为什么吗?
def ask_user():
string = (str(input("Please input your credit card number")))
numbers = list(map(int,string.split()))
if card_length(numbers):
validation(numbers)
else:
print("The credit card number you entered is invalid")
“”“ 此功能以信用卡号为参数,并检查信用卡号的长度 看看它是否有效。 “”“
def card_length(numbers):
for i in numbers:
if 13 <= i <= 16:
if numbers[0] == 4 or numbers[0] == 5 or numbers[0] == 6 or (numbers[0] == 3 and numbers[1] == 7):
return True
else:
return False
“”“ 此方法获取数字列表,并告诉用户它是否与打印语句有效组合 “”“
def validation(numbers):
odd_results = odd_digits(numbers)
even_results = even_digits(numbers)
sum_of_results = odd_results + even_results
if sum_of_results % 10 == 0:
print("This credit card number is valid")
else:
print("This credit card number is invalid")
“”“ 此功能将信用卡号作为字符串列表参数,并将所有 其中的偶数位。 “”“
def even_digits(numbers):
length = len(numbers)
sumEven = 0
for i in range(length - 2,-1,-2):
num = eval(numbers[i])
num = num * 2
if num > 9:
strNum = str(num)
num = eval(strNum[0] + strNum[1])
sumEven += num
return sumEven
“”“ 此功能将信用卡号作为字符串列表参数,并将所有 其中的奇数位。 “”“
def odd_digits(numbers):
length = len(numbers)
sumOdd = 0
for i in range(length - 1,-2):
numbers += sumOdd
return sumOdd
“”“ 这是定义我们第一个函数ask_user的主要函数 “”“
def main():
ask_user()
if __name__ == '__main__':
main()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)