在对它们进行一些数学运算之后,我有一个输出一整堆数字的代码。在代码中的某一点,它们用numpy.rint进行了四舍五入,在某些情况下(我相信当9被四舍五入为10时),我最终会得到一个不需要的尾随零。我有一些看起来像这样的代码

ra3n = ra3/60 * 10
ra3n = np.rint(ra3n)
ra3n = ra3n.astype(str) ##there is a good reason that this needs to be a string


我需要所有生成的ra3n长5个字符,但偶尔弹出一个长6个字符的字符。我该如何正确格式化?请记住,我是一个python新手,所以我可能需要为我拼写=)

编辑:

这是我的输出:

00244-2451
00244-2702
00278-0629
00286-1614
00295-1101
002910-0546
00303+0711
00305+2246
00348+2604
003410+0423
00355-0204
00359+1236
00360-0931
00386-1210


字符串的前半部分用6位数字代替5位的情况是错误的;那些尾随零不应该在那里。

最佳答案

ra3n = ra3n[:-1] if ra3n[-1] == '0' else ra3n

可能有更好的解决方案,但是我不确定我是否真正了解您的问题而没有看到一些输出。

08-24 20:15