python - 为什么我的字符串函数 [str()] 工作不正常?
问题描述
我正在尝试打印字符串的第 n 个术语,但超出某个术语这不起作用。
我将我的号码设置为第二个学期是 2,第三个学期是 3 等等。第 16 个学期是 6。这一切都正常工作,直到第 17 个学期,其中打印了一个没有任何意义的数字 8。奇怪的是,这在前 16 个术语中工作正常,但在第 17 个术语中却出错了。当我尝试打印第 18 个术语时,我收到一条错误消息,指出字符串索引超出范围,但显然不是。
print(str(0.2345678901234567890)[17])
有趣的是,如果我使用符号:
print("0.2345678901234567890"[17])
那么它在正确打印每个元素的情况下都能很好地工作。因此我认为 str() 函数有问题,但我在网上找不到任何东西。
解决方案
您应该检查应用的结果str()
:
>>> str(0.2345678901234567890)
'0.234567890123'
它将数字四舍五入,并且没有足够的数字来获得#17。
推荐阅读
- android - 如果 logcat 没有显示原因,我如何找出我的应用程序崩溃的原因?
- swift - UITableView 取消选择行有效,但不会在 iOS14 中设置动画
- javascript - javascript 为什么在显示弹出模式时立即触发 addEventListener("click",...)
- c# - c#.net core 3.1中的同一应用程序和同一端口上的REST服务器和HttpListener具有不同的端点
- c# - 使用 C# 的系统参数异常“参数无效”图像数据类型
- ios - flutter pub get 删除 Manifest.lock
- javascript - 从对象/数组创建 UL 列表
- javascript - 如何为另一个域预取脚本?
- python - 将 2DResnet 覆盖到 3DResnet
- java - 将 struts2 动态 web 项目转换为 maven 项目,能够进行 mvn 全新安装,但在启动应用程序时出现问题