why am I getting 'ugly' output?

2 次查看(过去 30 天)
combinations_available=input(['Enter the number associated with the combination of salts available. Enter 0 if none of the combinations are available.'...
'\n1:Two of these chlorides 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride) '...
'\n2:ZnBr2(zinc bromide) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride 4) NaCl(sodium chloride) 5) KCl(potassium chloride)'...
'\n3:NH4Cl(ammonium chloride) & 1) CH3CO2K(potassium acetat) 2) ZnSO4(zink sulphate) 3) HCOONa(Sodium formate) 4) HCOOK(potassium formate)'...
'\n4:ZnBr2(zinc bromide) & 1) CH3CO2K(potassium acetate) 2) ZnSO4(zink sulphate) 3) HCOONa(sodium formate) 4) HCOOK(potassium formate)'...
'\n5:CH3CO2K(potassium acetate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride)'...
'\n6:CH3CO2K(potassium acetate) & 1) ZnSO4(zinc sulphate) 2) HCOONa(sodium formate) 3) HCOOK(potassium formate)'...
'\n7:ZnSO4(zinc sulphate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride)'...
'\n8:ZnSO4(zinc sulphate) & 1) HCOONa(sodium formate) 2) HCOOK(potassium formate)'...
'\n9:HCOONa(sodium formate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl,(potassium chloride)'...
'\n10:HCOOK(potassium formate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl 5) KCl'...
'\n11:HCOONa & 1) HCOOK. ']);
Above is how it looks where I code but the output is something like this: The numbers dont come right below one another..:
Enter the number associated with the combination of salts available. Enter 0 if none of the combinations are available.
1:Two of these chlorides 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride)
2:ZnBr2(zinc bromide) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride 4) NaCl(sodium chloride) 5) KCl(potassium chloride)

采纳的回答

Rik
Rik 2019-9-5
At this point you should consider creating a small GUI for your input selection. But for your question at hand: you forgot to allign the start of the rows, so you missed the fact that they were actually shifted. The smart allign button in the editor and a few spaces gets you this:
combinations_available=input(['Enter the number associated with the combination of salts available. Enter 0 if none of the combinations are available.'...
'\n1:Two of these chlorides 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride) '...
'\n2:ZnBr2(zinc bromide) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride 4) NaCl(sodium chloride) 5) KCl(potassium chloride)'...
'\n3:NH4Cl(ammonium chloride) & 1) CH3CO2K(potassium acetat) 2) ZnSO4(zink sulphate) 3) HCOONa(Sodium formate) 4) HCOOK(potassium formate)'...
'\n4:ZnBr2(zinc bromide) & 1) CH3CO2K(potassium acetate) 2) ZnSO4(zink sulphate) 3) HCOONa(sodium formate) 4) HCOOK(potassium formate)'...
'\n5:CH3CO2K(potassium acetate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride)'...
'\n6:CH3CO2K(potassium acetate) & 1) ZnSO4(zinc sulphate) 2) HCOONa(sodium formate) 3) HCOOK(potassium formate)'...
'\n7:ZnSO4(zinc sulphate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride)'...
'\n8:ZnSO4(zinc sulphate) & 1) HCOONa(sodium formate) 2) HCOOK(potassium formate)'...
'\n9:HCOONa(sodium formate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl,(potassium chloride)'...
'\n10:HCOOK(potassium formate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl 5) KCl'...
'\n11:HCOONa & 1) HCOOK. ']);
With the result in the command prompt:
Enter the number associated with the combination of salts available. Enter 0 if none of the combinations are available.
1:Two of these chlorides 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride)
2:ZnBr2(zinc bromide) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride 4) NaCl(sodium chloride) 5) KCl(potassium chloride)
3:NH4Cl(ammonium chloride) & 1) CH3CO2K(potassium acetat) 2) ZnSO4(zink sulphate) 3) HCOONa(Sodium formate) 4) HCOOK(potassium formate)
4:ZnBr2(zinc bromide) & 1) CH3CO2K(potassium acetate) 2) ZnSO4(zink sulphate) 3) HCOONa(sodium formate) 4) HCOOK(potassium formate)
5:CH3CO2K(potassium acetate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride)
6:CH3CO2K(potassium acetate) & 1) ZnSO4(zinc sulphate) 2) HCOONa(sodium formate) 3) HCOOK(potassium formate)
7:ZnSO4(zinc sulphate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl(potassium chloride)
8:ZnSO4(zinc sulphate) & 1) HCOONa(sodium formate) 2) HCOOK(potassium formate)
9:HCOONa(sodium formate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl(sodium chloride) 5) KCl,(potassium chloride)
10:HCOOK(potassium formate) & 1) NH4Cl(ammonium chloride) 2) MgCl2(magnesium chloride) 3) CaCl2(calcium chloride) 4) NaCl 5) KCl
11:HCOONa & 1) HCOOK.
  6 个评论
Steven Lord
Steven Lord 2019-9-5
Just because you have the two literal characters \ and n in that order in a char vector or string array, MATLAB won't automatically treat those as a newline. You could tell MATLAB to include the newline character by using the newline function (introduced in R2016b) or using sprintf (introduced a long time ago) or compose (also introduced in R2016b).
Rik
Rik 2019-9-5
The problem was here:
combinations_available=input(['Enter the number associated with the combination of salts available. Enter 0 if none of the combinations are available.'...
'\n1:Two of these chl
% |^^
'\n2:ZnBr2(zinc bromid
% |^
'\n3:NH4
% |
You don't have to change you code, just remove the three spaces indicated with ^ above. Then you will see why you're allignment was incorrect. I corrected it in the code block in my answer.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Block Libraries 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by