数组初始化方式与decimal.InvalidOperation

news2024/9/30 23:33:38

数组初始化方式与decimal.InvalidOperation

  • 调用函数
  • 主函数: 数组声明不同带来的报错与否
    • 1. 报错decimal.InvalidOperation的数组初始化版本
    • 2. 可行的初始化版本
  • 输出结果
    • 1. 报错时的内容
    • 2. 正常的输出计算结果
  • 原因(是否是数组与列表不同引起(?

调用函数

import scipy.misc
import numpy as np
from decimal import *

x = [i for i in range(10, 110, 10)]
print(x)


def countA_with_n(n):
    global A
    if n==0:
        A[n]=1

    else:
        for i in range(1, n+1):
            if A[n-i]==0:
                A[n-i]=countA_with_n(n - i)
            #t=(-1) ** (i + 1) * 2 ** ((n - i) * i)* scipy.misc.comb(n, i)*A[n-i]
            A[n] = Decimal(A[n]) + Decimal((-1) ** (i + 1)) * Decimal(2 ** ((n - i) * i)) * Decimal(scipy.misc.comb(n, i)) *Decimal(A[n-i])
            #A[n]+=t

    return A[n]

主函数: 数组声明不同带来的报错与否

1. 报错decimal.InvalidOperation的数组初始化版本

#主函数
for a in x:
    A = np.zeros(a+1) 
    #前40可以计算,50时会报错‘decimal.InvalidOperation: [<class 'decimal.InvalidOperation'>]’
    
    #A = [0]*(a+1) #可行的声明方法
    print(str(a),str(countA_with_n(a)))

2. 可行的初始化版本

for a in x:
    A = [0]*(a+1) #可行的声明方法
    print(str(a),str(countA_with_n(a)))

输出结果

1. 报错时的内容

10 4.175098976430598e+18
20 2.3448804510510887e+72
30 2.7148544371675283e+158
C:...py:18: DeprecationWarning:     `comb` is deprecated!
    Importing `comb` from scipy.misc is deprecated in scipy 1.0.0. Use `scipy.special.comb` instead.
  A[n] = Decimal(A[n]) + Decimal((-1) ** (i + 1)) * Decimal(2 ** ((n - i) * i)) * Decimal(scipy.misc.comb(n, i)) *Decimal(A[n-i])
40 1.1241428263057385e+276
Traceback (most recent call last):
  File "C:xxx.py", line 65, in <module>
    print(str(a),str(countA_with_n(a)))
  File "...", line 16, in countA_with_n
    A[n-i]=countA_with_n(n - i)
  File "...", line 16, in countA_with_n
    A[n-i]=countA_with_n(n - i)
  File "...", line 16, in countA_with_n
    A[n-i]=countA_with_n(n - i)
  [Previous line repeated 2 more times]
  File "...", line 18, in countA_with_n
    A[n] = Decimal(A[n]) + Decimal((-1) ** (i + 1)) * Decimal(2 ** ((n - i) * i)) * Decimal(scipy.misc.comb(n, i)) *Decimal(A[n-i])
decimal.InvalidOperation: [<class 'decimal.InvalidOperation'>]

2. 正常的输出计算结果

DeprecationWarning:     `comb` is deprecated!
    Importing `comb` from scipy.misc is deprecated in scipy 1.0.0. Use `scipy.special.comb` instead.
  A[n] = Decimal(A[n]) + Decimal((-1) ** (i + 1)) * Decimal(2 ** ((n - i) * i)) * Decimal(scipy.misc.comb(n, i)) *Decimal(A[n-i])
10 4175098976430598143
20 2.344880451051088988152559846E+72
30 2.714854437167529438448086150E+158
40 1.124142826305737256464230893E+276
50 7.150572516568295733815015286E+424
60 4.231846207434397246471425291E+604
70 1.670508589429661015982839133E+815
80 3.469441880795996245588913622E+1056
90 3.173623968493402552666007937E+1328
100 1.113552460282985747462212849E+1631

原因(是否是数组与列表不同引起(?

参看 数组与列表的区别

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/373173.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

因果推断10--一种大规模预算约束因果森林算法(LBCF)

论文&#xff1a;A large Budget-Constrained Causal Forest Algorithm 论文&#xff1a;http://export.arxiv.org/pdf/2201.12585v2.pdf 目录 0 摘要 1 介绍 2 问题的制定 3策略评价 4 方法 4.1现有方法的局限性。 4.2提出的LBCF算法 5验证 5.1合成数据 5.2离线生…

gitlab部署使用,jenkins部署使用

gitlab部署使用&#xff0c;jenkins部署使用gitlab下载gitlab安装gitlab使用gitlab设置中文修改管理员密码创建组,创建项目,创建用户jenkins下载jenkins安装jenkin使用jenkins更改管理员密码配置拉取代码配置登录gitlab拉取代码的账号密码配置项目配置gitlab仓库配置构建构建构…

动态分区分配计算

动态分区分配 内存连续分配管理分为&#xff1a; 单一连续分配固定分区分配动态分区分配&#xff08;本篇所讲&#xff09; 首次适应算法&#xff08;First Fit&#xff0c;FF&#xff09; 该算法又称最先适应算法&#xff0c;要求空闲分区按照首地址递增的顺序排列。 优点…

数据结构——树

深度优先/广度优先遍历深度优先&#xff1a;访问根节点对根节点的 children 挨个进行深度优先遍历const tree {val: "a",children: [{val: "b",children: [{val: "d",children: [],},{val: "e",children: [],},],},{val: "c&quo…

可靠性设计

目录 一、可靠性设计概述 二、冗余的类型 三、冗余系统的设计 1.N版本程序设计 2.恢复块设计 3.防卫式程序设计 4.双机容错 一、可靠性设计概述 可靠性指系统能够正常运行的概率。如何设计出一个具有高可靠性的系统呢&#xff1f;可以利用避错技术&#xff0c;容错技术…

【LeetCode】剑指 Offer 16. 数值的整数次方 p110 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/ 1. 题目介绍&#xff08;16. 数值的整数次方&#xff09; 实现 pow(x, n) &#xff0c;即计算 x 的 n 次幂函数&#xff08;即&#xff0c;xn&#xff09;。不得使用库函数&#xff0c;…

文献计量分析方法:Citespace安装教程

Citespace是一款由陈超美教授开发的可用于海量文献可视化分析的软件&#xff0c;可对Web of Science&#xff0c;Scopus&#xff0c;Pubmed&#xff0c;CNKI等数据库的海量文献进行主题、关键词&#xff0c;作者单位、合作网络&#xff0c;期刊、发表时间&#xff0c;文献被引等…

数据结构入门5-2(数和二叉树)

目录 注&#xff1a; 树的存储结构 1. 双亲表示法 2. 孩子表示法 3. 重要&#xff1a;孩子兄弟法&#xff08;二叉树表示法&#xff09; 森林与二叉树的转换 树和森林的遍历 1. 树的遍历 2. 森林的遍历 哈夫曼树及其应用 基本概念 哈夫曼树的构造算法 1. 构造过程 …

响应性基础API

一.什么是proxy和懒代理&#xff1f;什么是proxy?proxy对象是用于定义基本操作的自定义行为(如&#xff1a;属性查找&#xff0c;赋值&#xff0c;枚举&#xff0c;函数调用等等)。什么是懒代理&#xff1f;懒代理&#xff1a;在初始化的时候不会进行全部代理&#xff0c;而是…

数据仓库Hive

HIve介绍 Hive是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具&#xff0c;可以用来进行数据提取转化加载&#xff0c;可以简称为ETL。 Hive 定义了简单的类SQL查询语言&#xff0c;称为HQL&#xff0c;它允许熟悉SQL的用户直接查询Hadoop中的数据&#xf…

三万字全面概述关于5G-V2X技术和应用

5G技术有望实现更快的网联链接、更低的延迟、更高的可靠性、更大的容量和更广的覆盖范围。希望依靠这些技术来实现车辆到一切&#xff08;V2X&#xff09;的通信&#xff0c;除了道路安全外&#xff0c;还能提高车辆的安全性和自动驾驶性能&#xff0c;节约能源和成本。车辆通信…

算法设计与分析期末考试复习(四)

贪心算法&#xff08;Greedy Algorithm&#xff09; 找零钱问题 假设有4种硬币&#xff0c;面值分别为&#xff1a;二角五分、一角、五分和一分&#xff0c;现在要找给顾客六角三分钱&#xff0c;如何找使得给出的硬币个数最少&#xff1f; 首先选出1个面值不超过六角三分的最…

improve-2

BFC 块级格式化上下文&#xff0c;是一个独立的渲染区域&#xff0c;让处于 BFC 内部的元素与外部的元素相互隔离&#xff0c;使内外元素的定位不会相互影响。 IE下为 Layout&#xff0c;可通过 zoom:1 触发 触发条件: 根元素position: absolute/fixeddisplay: inline-block /…

[计算机网络(第八版)]第三章 数据链路层(学习笔记)

物理层解决了相邻节点透明传输比特的问题 3.1 数据链路层的几个共同问题 3.1.1 数据链路和帧 链路&#xff1a; 从一个节点到相邻节点的一段物理线路&#xff0c;中间没有任何其他的交换节点 数据链路&#xff1a; 节点间的逻辑通道是把实现控制数据传输的协议的硬件和软件加…

Unity Avatar Foot IK - Avatar Foot Placement Resolution

文章目录简介实现Avatar FBX Import SettingsAnimator SettingsOn Animator IKCalculate IK Position & RotationBody PositionApply IK Position & Rotation简介 通过Unity内部的Mecanim动画系统实现的FootIK功能&#xff0c;效果如图所示&#xff0c;左右分别为开启…

计算机网络协议—应用层

应用层网络协议 应用层的常见协议 超文本传输&#xff1a;HTTP、HTTPS文本传输&#xff1a;FTP电子邮件&#xff1a;SMTP、POP3、IMAP动态主机配置&#xff1a;DHCP域名系统&#xff1a;DNS 域名&#xff08;Domain Name&#xff09; 由于IP地址不方便记忆&#xff0c;并且不…

【CAN】手把手教你学习CAN总线(一)

CAN总线一、CAN总线概念二、CAN的差分信号三、CAN总线的通信协议1、 帧起始2、仲裁段3、控制段4、数据段5、CRC段6、ACK段7、帧结束四、CAN的位时序1、同步段&#xff08;SS&#xff09;2、传播时间段&#xff08;PTS&#xff09;3、相位缓冲段&#xff08;PBS&#xff09;4、再…

gin 框架初始教程文档

一 、gin 入门1. 安装gin &#xff1a;下载并安装 gin包&#xff1a;$ go get -u github.com/gin-gonic/gin2. 将 gin 引入到代码中&#xff1a;import "github.com/gin-gonic/gin"3.初始化项目go mod init gin4.完整代码package mainimport "github.com/gin-go…

java 一文讲透面向对象 (20万字博文)

目录 一、前言 二、面向对象程序设计介绍 1.oop三大特性 : 2.面向对象和面向过程的区别 : 3.面向对象思想特点 : 4.面向对象的程序开发 : 三、Java——类与对象 1.java中如何描述一个事物? 2.什么是类? 3.类的五大成员&#xff1a; 4.封装的前提——抽象 : 5.什么是对…

使用python暴力破解zip压缩包的密码

如果你有压缩包的密码忘记了&#xff0c;并且压缩包的加密算法采用的是ZipCrypto&#xff0c;并且压缩参数如下图所示&#xff1a; 那么你就可以使用本文中的方法进行破解。 压缩包的加密&#xff0c;是根据输入的密码进行运算加密&#xff0c;输入不同的密码&#xff0c;加密…