You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python温度电阻计算程序报NoneType格式化错误如何修复?

错误原因

你遇到的TypeError: unsupported format string passed to NoneType.__format__报错和zip方法无关,核心原因是resistance_from_temperature函数没有写return语句:Python中所有函数默认返回None,你计算完result后没有返回该值,因此生成的resistances列表中所有元素都是None,对None使用.3f格式化规则自然会触发报错。

另外你代码中还有两处缩进错误会导致运行异常:

  • make_solve函数中for element in R:行缩进层级错误
  • get_list_of_second_parameters函数的return语句没有缩进进函数体,属于语法错误

同时你make_solve函数定义时传入了temperatures、resistances两个参数,但函数内部直接调用了全局的T、R变量,参数没有实际生效,属于冗余问题。

修复方案

  1. 给resistance_from_temperature函数末尾添加return result语句,返回计算得到的电阻值
  2. 修正两处缩进错误,保证代码语法合法
  3. 调整make_solve函数的内部逻辑,使用传入的参数而非全局变量,避免潜在问题

修复后完整代码

import numpy as np

K = 273.15
T = [1.4, 25, 72]
R = [3440, 1175, 453]


def make_solve(temperature_kalvin: float, temperatures: list, resistances: list):
    matrix_a = []
    for element in resistances:
        matrix_a.append([1, np.log(element), pow(np.log(element), 3)])
    matrix_b = np.array([1 / (t + temperature_kalvin) for t in temperatures])
    solve = np.linalg.solve(np.array(matrix_a), matrix_b)
    return solve


def resistance_from_temperature(temperature: float, parameter_a: float, parameter_b: float, 
parameter_c: float):
    x = 1 / parameter_c * (parameter_a - 1 / temperature)
    y = pow((pow((parameter_b / (3 * parameter_c)), 3) + pow(x / 2, 2)), .5)
    result = np.exp((y - x / 2) ** (1 / 3) - (y + x / 2) ** (1 / 3)) / 7.3
    return result


def get_list_of_second_parameters():
    solves = make_solve(K, T, R)
    temperatures = np.linspace(0 + K, 100 + K, 101)
    resistances = [resistance_from_temperature(temperature, solves[0], solves[1], solves[2]) for temperature in temperatures]
    return temperatures, resistances


def main():
     temperatures, resistances = get_list_of_second_parameters()
     for temperature, resistance in zip(temperatures, resistances):
         print(f'T[C] = {temperature - 273.15:.2f} \t R = {resistance:.3f}')
     input()
main()

内容的提问来源于stack exchange,提问作者MaybeYesMaybeNo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:45:07