Credit
要解决的问题
在名为 sentimental-credit 的文件夹中名为 credit.py 的文件中,编写一个程序,提示用户输入信用卡号,然后报告(通过 print)它是否是有效的 American Express、MasterCard 或 Visa 卡号,就像你在问题集 1 中所做的一样。只不过这次你的程序应该用 Python 编写!
演示
规格说明
- 为了让我们能够自动化测试你的代码,我们要求你的程序的最后一行输出为
AMEX\n或MASTERCARD\n或VISA\n或INVALID\n,不多不少。 - 为简单起见,你可以假设用户的输入将完全是数字(即不含连字符,就像实际卡片上可能印刷的那样)。
- 最好使用 CS50 库中的
get_int或get_string来获取用户输入,具体取决于你决定如何实现此题。
提示
- 可以使用正则表达式来验证用户输入。例如,你可以使用 Python 的
re模块来检查用户的输入是否确实是正确长度的数字序列。
如何测试
虽然 check50 可以用于此问题,但我们鼓励你先自行针对以下每一项测试你的代码。
- 以
python credit.py运行你的程序,等待提示输入。输入378282246310005并按回车。你的程序应该输出AMEX。 - 以
python credit.py运行你的程序,等待提示输入。输入371449635398431并按回车。你的程序应该输出AMEX。 - 以
python credit.py运行你的程序,等待提示输入。输入5555555555554444并按回车。你的程序应该输出MASTERCARD。 - 以
python credit.py运行你的程序,等待提示输入。输入5105105105105100并按回车。你的程序应该输出MASTERCARD。 - 以
python credit.py运行你的程序,等待提示输入。输入4111111111111111并按回车。你的程序应该输出VISA。 - 以
python credit.py运行你的程序,等待提示输入。输入4012888888881881并按回车。你的程序应该输出VISA。 - 以
python credit.py运行你的程序,等待提示输入。输入1234567890并按回车。你的程序应该输出INVALID。
正确性
check50 cs50/problems/2026/x/sentimental/credit
代码风格
style50 credit.py
如何提交
在终端中执行以下命令提交你的作业,并按提示完成操作。
submit50 cs50/problems/2026/x/sentimental/credit