在 Mathematica 中打印数据

在 Mathematica 中打印数据

我在 Mathematica 中打印数据时遇到一个问题。例如,如果行太长

S=111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

我想在表格中先打印 S 五个空格,然后输入“#”,然后是 S 的 66 个空格,然后输入,下一个顺序相同。此表格必须在 WordPad 中打开,如下所示

 "5 spaces empty"#1111111111"(66times)"111111
 "5 spaces empty"#1111111111"(66times)"111111
  .....

最好的祝愿,

答案1

您可以使用以下代码:

In[58]:=
S=1111111111111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111111111111111\
111111111111111111111111111111111111111111111111111111111111111111111111111111\
1111111111111111111111111111111111111111111111111111;
StringPartition[s_,l_]:=Table[StringTake[s,{i,Min[i+l-1, 
StringLength[s]]}],{i,1,StringLength[s],l}];
fmts=Map[("     #"<>#<>"\r")&,StringPartition[ToString[S],66]];
(* Unfortunately the web software is ruining the formatting of the output, deleting the extra spaces I placed before the #, etc. *)
(* But if you fix all the things this web software broke when I pasted your result and then run this and check the output carefully you should see it is correct *)
FullForm[fmts]

Out[61]//FullForm=
List[
"     #111111111111111111111111111111111111111111111111111111111111111111\r",
"     #111111111111111111111111111111111111111111111111111111111111111111\r",
"     #111111111111111111111111111111111111111111111111111111111111111111\r",
"     #111111111111111111111111111111111111111111111111111111111111111111\r",
"     #111111111111111111111111111111111111111111111111111111111111111111\r",
"     #11111111111111111111111111111111\r"
]

相关内容