类型错误:FUNCTION NAME () 缺少 1 个必需的位置参数:'v_air

如何解决类型错误:FUNCTION NAME () 缺少 1 个必需的位置参数:'v_air

我有两个问题:

  1. 当我调用函数时,Python 说我错过了函数 simplified_friction_method 的一个位置参数,但所有参数都写在上面。

如果你的 str() 或 list() 对象最终可能是空的:astr = '' 或 alist = [],那么你可能想要使用 alist[-1:] 而不是 alist[-1]对于对象“相同”。

some_list = [1,2,3]
some_list[-1] = 5 # Set the last element
some_list[-2] = 3 # Set the second to last element
some_list
a_list = ['zero','one','two','three']
a_list[-1]
'three'

解决方法

看,你基本上已经做对了,但只是为了记录,这里是工作代码:

import numpy as np
from scipy.optimize import root


def viscosity(Tair_inlet):
    mu=(1.458*(10**-6)*(Tair_inlet+ 273.15)**1.5)/((Tair_inlet+ 273.15)+110.4)
    return mu

def per_circ(D_1):
    p_c = np.pi*(D_1)
    return p_c

def Tair_outlet(Ts_int,Tair_inlet,hint,p_c,v_air,rho_air,cp_air,L ):
    k = hint/(p_c*v_air*rho_air*cp_air)
    Tair_outlet = Ts_int + (Tair_inlet-Ts_int)*np.exp(-k*L)
    return Tair_outlet

def simplified_friction_method(V_dot,L,mu,delta_P,epsilon ):
    m_dot = V_dot * rho_air
    print('m_dot',m_dot,'[kgs^-1]')
    D_0 = (4*m_dot/(np.pi*rho_air*v_air))**(1/2)
    D_1 = D_0
    print('D_0',D_0,'[m]')
    Re  = (v_air * D_0 * rho_air) / mu
    print('Re',Re )
    f_0= 0*D_0
    f_0 = (-2*np.log((epsilon/D_0)/3.7065))**-2
    print('f_0',f_0,)
    delta_P_tot = delta_P*L
    f_1 = f_0
    f_2 = 0
    e =np.ones(D_0.size)
    print("e",e)
    while e.any() > 0.0001:
        D_1 = ((f_1 * L)/delta_P_tot )* rho_air *(v_air)**2
        print('D_1',D_1,'[m]')
        Re  = (v_air * D_1 * rho_air) / mu
        f_2=(-2*abs(np.log((epsilon/D_1)/3.7065 + 2.5226/(Re*np.sqrt(f_1)))))**-2
        e = abs(f_1-f_2)
        print('e',e,)
        f_1 = f_2 
    return('D_1','Re',Re,'f',f_2,'e',e )


class Duct:
    def __init__(
        self,Ts_int,Rstar,epsilon
    ):
        self.Tair_inlet = Tair_inlet
        self.Ts_int = Ts_int
        self.hint = hint
        self.cp_air = cp_air
        self.rho_air = rho_air
        self.Rstar = Rstar
        self.epsilon = epsilon


duct_ret = Duct(18,19.5,3,1010,1.2,8324.68/29,0.2/1000)
duct_circ = Duct(18,0.2/1000)

duct_ret.L = 8
duct_circ.L = np.array([[10,8,10,8]])
duct_circ.V_dot = np.array([[3,1,2,1]])     
duct_circ.v_air = np.array([[5,5,3]])
duct_circ.deltaP = 1

duct_circ.mu = viscosity(duct_circ.Tair_inlet)
print(duct_circ.mu)

duct_circ.D_1 = simplified_friction_method(
    duct_circ.rho_air,duct_circ.V_dot,duct_circ.L,duct_circ.mu,duct_circ.deltaP,duct_circ.v_air,duct_circ.epsilon
)

print(duct_circ.D_1)

请注意,由于我没有两个文件,因此我没有导入 EN,因此删除了函数调用前面的 EN.。我还将 epsilon 参数添加到您的版本中缺少的 Duct 类并将其传递给 simplified_friction_method 函数。有很多方法可以改进代码,但就目前而言,我认为它的工作原理和您理解它更为重要。您显然并不真正了解类的工作原理,因此我建议您look into that

,

最小工作示例如上编写

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)> insert overwrite table dwd_trade_cart_add_inc > select data.id, > data.user_id, > data.course_id, > date_format(
错误1 hive (edu)> insert into huanhuan values(1,'haoge'); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive> show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 <configuration> <property> <name>yarn.nodemanager.res