Thẻ tín dụng - CS50x 2026
Bài toán cần giải
Trong một tệp có tên là credit.py nằm trong thư mục sentimental-credit, hãy viết một chương trình yêu cầu người dùng nhập số thẻ tín dụng và sau đó báo cáo (thông qua hàm print) xem đó là số thẻ American Express, MasterCard hay Visa hợp lệ, chính xác như bạn đã làm trong Problem Set 1. Lần này chương trình của bạn phải được viết bằng ngôn ngữ Python!
Demo
Yêu cầu kỹ thuật
- Để chúng tôi có thể tự động hóa một số bài kiểm tra mã nguồn của bạn, chúng tôi yêu cầu dòng đầu ra cuối cùng của chương trình phải là
AMEX\nhoặcMASTERCARD\nhoặcVISA\nhoặcINVALID\n, không thừa không thiếu. - Để đơn giản, bạn có thể giả định rằng đầu vào của người dùng sẽ hoàn toàn là chữ số (tức là không có dấu gạch ngang, như trên thẻ thực tế).
- Tốt nhất nên sử dụng
get_inthoặcget_stringtừ thư viện của CS50 để nhận đầu vào của người dùng, tùy thuộc vào cách bạn quyết định triển khai bài này.
Gợi ý
- Có thể sử dụng biểu thức chính quy (regular expressions) để xác thực đầu vào của người dùng. Ví dụ, bạn có thể sử dụng mô-đun
recủa Python để kiểm tra xem đầu vào của người dùng có thực sự là một chuỗi các chữ số có độ dài chính xác hay không.
Cách kiểm tra
Mặc dù check50 có sẵn cho bài toán này, bạn nên tự kiểm tra mã nguồn của mình trước cho từng trường hợp sau.
- Chạy chương trình với lệnh
python credit.pyvà đợi thông báo nhập liệu. Nhập378282246310005và nhấn Enter. Chương trình của bạn sẽ in raAMEX. - Chạy chương trình với lệnh
python credit.pyvà đợi thông báo nhập liệu. Nhập371449635398431và nhấn Enter. Chương trình của bạn sẽ in raAMEX. - Chạy chương trình với lệnh
python credit.pyvà đợi thông báo nhập liệu. Nhập5555555555554444và nhấn Enter. Chương trình của bạn sẽ in raMASTERCARD. - Chạy chương trình với lệnh
python credit.pyvà đợi thông báo nhập liệu. Nhập5105105105105100và nhấn Enter. Chương trình của bạn sẽ in raMASTERCARD. - Chạy chương trình với lệnh
python credit.pyvà đợi thông báo nhập liệu. Nhập4111111111111111và nhấn Enter. Chương trình của bạn sẽ in raVISA. - Chạy chương trình với lệnh
python credit.pyvà đợi thông báo nhập liệu. Nhập4012888888881881và nhấn Enter. Chương trình của bạn sẽ in raVISA. - Chạy chương trình với lệnh
python credit.pyvà đợi thông báo nhập liệu. Nhập1234567890và nhấn Enter. Chương trình của bạn sẽ in raINVALID.
Độ chính xác
check50 cs50/problems/2026/x/sentimental/credit
Phong cách
style50 credit.py
Cách nộp bài
Trong terminal của bạn, hãy thực hiện lệnh dưới đây để nộp bài làm, đồng thời trả lời các câu hỏi hiện ra.
submit50 cs50/problems/2026/x/sentimental/credit