Credit - CS50x 2026
解くべき問題
sentimental-creditというフォルダの中のcredit.pyというファイルに、ユーザーにクレジットカード番号の入力を促し、それが有効なAmerican Express、MasterCard、またはVisaのカード番号であるかどうかを(printを介して)報告するプログラムを書いてください。問題セット1で行ったことと全く同じです。今回は、プログラムをPythonで書いてください!
デモ
仕様
- コードのテストを自動化できるように、プログラムの出力の最終行は
AMEX\n、MASTERCARD\n、VISA\n、またはINVALID\nのいずれかである必要があります。それ以上でもそれ以下でもいけません。 - 簡単にするため、ユーザーの入力はすべて数字であると仮定してかまいません(つまり、実際のカードに印字されているようなハイフンは含まれません)。
- これをどのように実装するかに応じて、ユーザーの入力を取得するには、CS50ライブラリの
get_intまたはget_stringを使用するのが最適です。
ヒント
- 正規表現を使用してユーザー入力を検証することが可能です。例えば、Pythonの
reモジュールを使用して、ユーザーの入力が正しい長さの数字の列であるかどうかを確認できます。
テスト方法
check50はこの問題で利用可能ですが、まずは自分自身で以下のそれぞれについてコードをテストすることをお勧めします。
python credit.pyとしてプログラムを実行し、入力プロンプトを待ちます。378282246310005と入力してEnterキーを押します。プログラムはAMEXと出力するはずです。python credit.pyとしてプログラムを実行し、入力プロンプトを待ちます。371449635398431と入力してEnterキーを押します。プログラムはAMEXと出力するはずです。python credit.pyとしてプログラムを実行し、入力プロンプトを待ちます。5555555555554444と入力してEnterキーを押します。プログラムはMASTERCARDと出力するはずです。python credit.pyとしてプログラムを実行し、入力プロンプトを待ちます。5105105105105100と入力してEnterキーを押します。プログラムはMASTERCARDと出力するはずです。python credit.pyとしてプログラムを実行し、入力プロンプトを待ちます。4111111111111111と入力してEnterキーを押します。プログラムはVISAと出力するはずです。python credit.pyとしてプログラムを実行し、入力プロンプトを待ちます。4012888888881881と入力してEnterキーを押します。プログラムはVISAと出力するはずです。python credit.pyとしてプログラムを実行し、入力プロンプトを待ちます。1234567890と入力してEnterキーを押します。プログラムはINVALIDと出力するはずです。
正確性
check50 cs50/problems/2026/x/sentimental/credit
スタイル
style50 credit.py
提出方法
ターミナルで以下を実行して、表示されるプロンプトに答えながら課題を提出してください。
submit50 cs50/problems/2026/x/sentimental/credit