Python:从循环创建两个列表并将两者相加

塞巴斯蒂亚诺

我在做一个CS50的信用项目,我在验证信用卡时遇到了一些问题。

这里我创建的功能:

def main():

while True :
    cardnumber = input("Please enter a credit card number: ")
    if cardnumber.isdecimal() and int(cardnumber) > 0 :
        break

count = len(cardnumber)

if count != 13 and count != 15 and count != 16:
    print("INVALID")
else:
    check(count, cardnumber)


def check(length, number):

lenght_max = 15

if length == 15 and int(number[0]) == 3 and (int(number[1]) == 4 or int(number[1]) == 7):
    if validator(number):
        print("AMEX")
elif length == 16 and int(number[0]) == 5 and int(number[1]) <= 5:
    if validator(number):
        print("MASTERCARD")
elif length == 16 or length == 13 and int(number[0]) == 4:
    if validator(number):
        print("VISA")
else:
    print("INVALID")
return number


def validator(num):

sum = 0
while num > 0:
    sum += num % 10
    num = num // 10

return sum
odd = [int(num[i]) * 2 for i in range(1, len(num), 2)]
even = [int(num[i]) for i in range(0, len(num), 2)]

new_sum = sum(validator(x) for x in odd) + sum(even)
if(new_sum % 10 == 0):
    return True
else:
    print("INVALID")

main()

我找到了打印偶数和赔率的方法(也乘以时间 2),但现在我必须总结展位并检查余数是否为 0

图像

这里有完整的说明:http : //docs.cs50.net/problems/credit/credit.html

cs95

编写一个辅助函数来总结你的数字。您需要广泛使用它。

def dig_sum(num):
   sum = 0
   while num > 0:
      sum += num % 10
      num = num // 10

   return sum

num = '378282246310005' # your credit card number
odd = [int(num[i]) * 2 for i in range(1, len(num), 2)] # these two remain the same
even = [int(num[i]) for i in range(0, len(num), 2)]

new_sum = sum(dig_sum(x) for x in odd) + sum(even)
if(new_sum % 10 == 0):
    print('Valid') #valid!

sum(dig_sum(x) for x in odd)将获得odd列表中每个数字的数字总和,sum(...)找到结果总和。

输入:

'378282246310005'

输出:

Valid

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server 2012:同步两个服务器并同时写入两者

来自分类Dev

将两个相等大小的列表相乘并将结果相加(点积)

来自分类Dev

在Python中从两个列表创建(嵌套)列表

来自分类Dev

python中混合两个列表的循环法

来自分类Dev

从两个表创建列表

来自分类Dev

从两个文件创建浮点数的python列表

来自分类Dev

从两个列表创建嵌套列表

来自分类Dev

将两个列表的第i个元素相加

来自分类Dev

如何使用两个列表作为循环Python

来自分类Dev

计算两个速度相加的结果

来自分类Dev

密码-匹配两个不同的可能路径并返回两者

来自分类Dev

映射两个列表而不循环

来自分类Dev

将两个列表相加

来自分类Dev

python中混合两个列表的循环法

来自分类Dev

如何从两个不同的函数调用两个变量并将其相加?(Python3)

来自分类Dev

如何创建两个相等的列,且两者之间有一个固定空间

来自分类Dev

从两个表创建列表

来自分类Dev

从两个文件创建浮点数的python列表

来自分类Dev

如何使用两个列表作为循环Python

来自分类Dev

Lisp两个列表相乘并相加两个值

来自分类Dev

如何同时循环两个列表并将其在c#中排序?

来自分类Dev

尝试从两个列表创建列表

来自分类Dev

T-SQL - 比较两个表并将结果显示为在两者上都可用,仅 table1 和 table2

来自分类Dev

两个资产编号相同的列表相加

来自分类Dev

在 Haskell 中将两个函数相加

来自分类Dev

从python中的两个列表创建特定对

来自分类Dev

如何在mysql中加入两个表,但两者之间的日期不同?

来自分类Dev

两个变量相加

来自分类Dev

Python - 比较两个列表时出现循环问题

Related 相关文章

热门标签

归档