お世話になっております。
競技プログラミングのような問題を解くことをPython3.6 + Pycharmで想定していて、簡単なテストをコード上で行いたいです。なのですが、複数行の入出力をassertさせる方法がわかりません。
複数行のinputやoutputをpythonでassertする方法(もしくはより簡単にPycharm上で入出力のテストができるやりかた)を教えていただけないでしょうか。
例えば、yukicoderのこの問題のサンプルとして
#input 5
#output 55555 5555 555 55 5
がありますが、以下のように書いてもassertでエラーになってしまいます。提出はできたのでmult_number関数の中身は問題ないと思われます。
(入出力はstrでされるものだと認識しています)
#num = int(input()) def mult_number(num): for i in range(0,num): print(str(num) * (num - i)) nums_4 = """ 4444 444 44 4 """ nums_5 = """ 55555 5555 555 55 5 """ assert mult_number(4) == nums_4 assert mult_number(5) == nums_5
Traceback (most recent call last): 4444 444 File "input.py", line 22, in <module> 44 4 assert mult_number(int(4)) == nums_4 AssertionError Process finished with exit code 1
よろしくお願いいたします。
追記分
#関数にしてreturnにした。WAでテストケースで引っかかった num = int(input()) def mult_number(num): for i in range(0,num): return(str(num) * (num - i))
#関数にしてprintにした。WAでテストケースで引っかかった num = int(input()) def mult_number(num): for i in range(0,num): return(str(num) * (num - i))
#関数にしていない。 テストケースをすべて通過した num = int(input()) for i in range(0,num): print(str(num) * (num - i))

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/19 12:30