Bamboo2018 2023-09-08 14:20 采纳率: 25%
浏览 24
已结题

Python带小数点数字生成n个相同值的列表

Python带小数点数字生成n个相同值的列表是,数字会被分开,如生成5个0.836的列表,结果列表显示0,8,3,6,0,8,3,6,0,8,3,6,0,8,3,6,0,8,3,6为什么?我想生成的是0.836,0.836,0.836,0.863.应该怎么操作呢?

  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-08 17:09
    关注

    【以下回答由 GPT 生成】

    答案:

    这个问题是由于浮点数在计算机中的表示和精度问题导致的。

    计算机在存储浮点数时使用二进制表示,而浮点数的精度是有限的。因此,当你使用0.836来初始化一个包含n个元素的列表时,可能会出现精度问题。这导致计算机在内部可能会存储一个非常接近0.836但不完全相等的值。

    要解决这个问题,你可以使用Python的Decimal库来处理浮点数的精度。Decimal库提供了更高的精度,可以避免浮点数精度问题。

    以下是一个示例代码,演示如何使用Decimal库生成包含n个相同小数值的列表:

    from decimal import Decimal
    
    n = 5
    value = Decimal('0.836')
    result = [value] * n
    
    print(result)
    

    在这个示例中,我们使用Decimal('0.836')来确保浮点数0.836被精确表示,并生成包含n个相同小数值的列表。输出结果将是[Decimal('0.836'), Decimal('0.836'), Decimal('0.836'), Decimal('0.836'), Decimal('0.836')]。

    这样就可以避免浮点数精度问题,并且得到正确的结果。

    希望这个解决方案能帮到你。如果你有任何疑问,请随时问我。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月16日
  • 已采纳回答 9月8日
  • 修改了问题 9月8日
  • 创建了问题 9月8日

悬赏问题

  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 C++行情软件的tick数据如何高效的合成K线
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。
  • ¥20 在easyX库下编写C语言扑克游戏跑的快,能实现简单的人机对战
  • ¥15 svpwm波形异常求解答