それぞれから複数の文字列をprint
1 つの関数として収集して、別のファイルに書き込むにはどうすればよいですか? (私がこれを正しく表現している場合)
ここに私が持っているものがあります:
heart_max,heart_min = find_max_min (wanted_tuples, 0,1)
print ('Heart: {} {:.1f} {} {:.1f}'.format(heart_min[1],heart_min[0],heart_max[1],heart_max[0]))
#
mv_max,mv_min = find_max_min (wanted_tuples, 0,2)
print ('Motor: {} {:.1f} {} {:.1f}'.format(mv_min[1],mv_min[0],mv_max[1],mv_max[0]))
#
birth_max,birth_min = find_max_min (wanted_tuples, 0,3)
print ('Birth: {} {:.1f} {} {:.1f}'.format(birth_min[1],birth_min[0],birth_max[1],birth_max[0]))
#
smoke_max,smoke_min = find_max_min (wanted_tuples, 0,4)
print ('Smoking: {} {:.1f} {} {:.1f}'.format(smoke_min[1],smoke_min[0],smoke_max[1],smoke_max[0]))
#
ob_max,ob_min = find_max_min (wanted_tuples, 0,5)
print ('Obesity: {} {:.1f} {} {:.1f}'.format(ob_min[1],ob_min[0],ob_max[1],ob_max[0]))
outstring = {'Heart:'' {} {:.1f} {} {:.1f}'.format(heart_min[1],heart_min[0],heart_max[1],heart_max[0])},
'Motor: {} {:.1f} {} {:.1f}'.format(mv_min[1],mv_min[0],mv_max[1],mv_max[0])),
'Birth: {} {:.1f} {} {:.1f}'.format(birth_min[1],birth_min[0],birth_max[1],birth_max[0])),
'Smoking: {} {:.1f} {} {:.1f}'.format(smoke_min[1],smoke_min[0],smoke_max[1],smoke_max[0])),
'Obesity: {} {:.1f} {} {:.1f}'.format(ob_min[1],ob_min[0],ob_max[1],ob_max[0]))}
次に、このファイルに結果を書き込みます
f_write = open('best_and_worst.txt', 'w') #creates the file
try:
f_write.writelines(outstring)
finally:
f_write.close()
実行時に出力を次のように表示できるように、文字列を次のようにフォーマットしました。
Min Max
Heart: Minnesota 1.8 Missouri 26.4
Motor: Washington 2.8 Colorado 34.6
Birth: Ohio 4.4 New York 43.2
Smoking: Utah 6.1 Ohio 44.3
Obesity: Michigan 19.1 Mississippi 37.3
長いプログラム全体がエラーなしで正常に実行されます。何らかの理由で、これを行う方法について空白を描きます。ヘルプやガイダンスをいただければ幸いです。