1 Star 0 Fork 0

mamh-mixed/python-cookbook

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
luhn_algorithm_for_credit_card_validation.py 1.11 KB
一键复制 编辑 原始数据 按行查看 历史
Nitkarsh Chourasia 提交于 2024-01-17 03:38 +08:00 . add: Luhn algorithm
"""
The Luhn Algorithm is widely used for error-checking in various applications, such as verifying credit card numbers.
By building this project, you'll gain experience working with numerical computations and string manipulation.
"""
# TODO: To make it much more better and succint
def verify_card_number(card_number):
sum_of_odd_digits = 0
card_number_reversed = card_number[::-1]
odd_digits = card_number_reversed[::2]
for digit in odd_digits:
sum_of_odd_digits += int(digit)
sum_of_even_digits = 0
even_digits = card_number_reversed[1::2]
for digit in even_digits:
number = int(digit) * 2
if number >= 10:
number = (number // 10) + (number % 10)
sum_of_even_digits += number
total = sum_of_odd_digits + sum_of_even_digits
return total % 10 == 0
def main():
card_number = "4111-1111-4555-1142"
card_translation = str.maketrans({"-": "", " ": ""})
translated_card_number = card_number.translate(card_translation)
if verify_card_number(translated_card_number):
print("VALID!")
else:
print("INVALID!")
main()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mamh-mixed/python-cookbook.git
git@gitee.com:mamh-mixed/python-cookbook.git
mamh-mixed
python-cookbook
python-cookbook
master

搜索帮助