首页 > 解决方案 > 为什么我的字符串函数 [str()] 工作不正常?

问题描述

我正在尝试打印字符串的第 n 个术语,但超出某个术语这不起作用。

我将我的号码设置为第二个学期是 2,第三个学期是 3 等等。第 16 个学期是 6。这一切都正常工作,直到第 17 个学期,其中打印了一个没有任何意义的数字 8。奇怪的是,这在前 16 个术语中工作正常,但在第 17 个术语中却出错了。当我尝试打印第 18 个术语时,我收到一条错误消息,指出字符串索引超出范围,但显然不是。

print(str(0.2345678901234567890)[17])

有趣的是,如果我使用符号:

 print("0.2345678901234567890"[17]) 

那么它在正确打印每个元素的情况下都能很好地工作。因此我认为 str() 函数有问题,但我在网上找不到任何东西。

标签: pythonstring

解决方案


您应该检查应用的结果str()

>>> str(0.2345678901234567890)
'0.234567890123'

它将数字四舍五入,并且没有足够的数字来获得#17。


推荐阅读