小さな子供のために算数の問題を含むファイルを書きたいと思っています。プラスとマイナスの区別がつきやすいように、塗り分けをしたいと思います。これは私にとって非常にうまくいきました。残念ながら、端末のみです。
import random as rd
from termcolor import colored
N = 10
MAX = 100
f = open("math.txt", "w")
def get_random_str():
a = rd.randint(1, MAX)
b = rd.randint(1, MAX)
if a < MAX*0.4:
string = "%3d "%a + str(colored('+', 'blue')) + " %d = \n"%(b)
else:
if a>b:
string = "%3d "%a + str(colored('-', 'red')) + " %d = \n"%(b)
else:
string = "%3d "%a + str(colored('-', 'red')) + " %d = \n"%(b)
return string
#-------------------------------------------------------------------------
for i in range(1,N):
print i, get_random_str()
出力をファイルに書き込もうとすると、もちろん、赤の「-」と青の「+」ではなく、「[34m + [0m」などのカラーコードが表示されます。
このタスクを解決する方法はありますか?