AkeyyY 2022-11-23 09:52 采纳率: 100%
浏览 6
已结题

Python for循环相关问题

刚学了几天Python,想上手写一写计算,在写for循环的时候数组里共有28个元素,但在for循环下打印出来的循环变量却只有6。
以下是部分代码(数组已列出,其他变量都是测量量,可以任取)
t_jh = [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15]
for j in range(len(t_jh)):
    print(j)
    BLh_tjh = HCR * (tah - t_jh[j]) / tah *Qcr_2a
    BLh_tjhs.append(BLh_tjh)
    if t_jh[j] >= 5.5:

        if t_jh[j] >= tdh:

            Phmin_tjh = Phmin_tdh + (Phmin_tah - Phmin_tdh) / (tah - tdh) * (t_jh[j] - tdh)
            Phmin_tjhs.append(Phmin_tjh)
            Qhmin_tjh = Qhmin_n85 + (Qh_min - Qhmin_n85) / (7 - (-8.5)) * (t_jh[j] - (-8.5))
            Qhmin_tjhs.append(Qhmin_tjh)
            XB_tjh = BLh_tjhs[j] / Qhmin_tjhs[j]
            XB_tjhs.append(XB_tjh)
            PLFB_tjh = 1 - HCD * (1 - XB_tjhs[j])
            PLFB_tjhs.append(PLFB_tjh)
            PhB_tjh_1 = XB_tjhs[j] * Phmin_tjhs[j] / PLFB_tjhs[j] * n_jh[j]
            PhB_tjhs_1.append(PhB_tjh_1)

        if tch < t_jh[j] < tdh:
            Phm_tch = Phm_n85 + (Phm - Phm_n85) / (7 - (-8.5)) * (tch - (-8.5))
            Phm_tjh = Phm_tch + (Phmin_tdh - Phm_tch) / (tdh - tch) * (t_jh[j] - tch)
            Phm_tjhs.append(Phm_tjh)
            PhB_tjh_2 = Phm_tjhs[j] * n_jh[j]
            PhB_tjhs_2.append(PhB_tjh_2)

运行结果及报错内容

img

我的解答思路和尝试过的方法

目前完全没有头绪,因为之前也是这么写的但是没有出现过类似的问题。

我想要达到的结果

想要了解为什么在这个循环中循环变量会变成0-5,以及如何得到我想要的数组长度的循环变量,谢谢!

  • 写回答

4条回答 默认 最新

  • qybao 2022-11-23 10:30
    关注
    
    逻辑有问题
        BLh_tjh = HCR * (tah - t_jh[j]) / tah *Qcr_2a
        BLh_tjhs.append(BLh_tjh) //每次循环这里追加元素
        if t_jh[j] >= 5.5:
            if t_jh[j] >= tdh:
                Phmin_tjh = Phmin_tdh + (Phmin_tah - Phmin_tdh) / (tah - tdh) * (t_jh[j] - tdh)
                Phmin_tjhs.append(Phmin_tjh)
                Qhmin_tjh = Qhmin_n85 + (Qh_min - Qhmin_n85) / (7 - (-8.5)) * (t_jh[j] - (-8.5))
                Qhmin_tjhs.append(Qhmin_tjh)//每次满足条件才会追加元素
                XB_tjh = BLh_tjhs[j] / Qhmin_tjhs[j] //这里怎么保证Qhmin_tjhs[j]的j不越界?
                //比如j循环了5次,但是Qhmin_tjhs.append只执行了2次,Qhmin_tjhs[5]不就越界了吗?
                
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月23日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)