載せているのはプログラムの一部です。
日射量を表すリスト(light)の各要素に値を掛け算したいのですが、solar1だとエラーが出ないのにsolar2だとエラーが出てしまいます。どこを変更すれば改善するでしょうか。
light1=[1,2,3,4]
solar1=[0.7 * 1 *Powerpv,0.7 * 2 *Powerpv,0.7 * 3 *Powerpv,0.7 * 4 *Powerpv]
light2=[[1,2,3,4],[5,6,7,8]]
solar2=[0.7 * 1 *Powerpv,0.7 * 2 *Powerpv,0.7 * 3 *Powerpv,0.7 * 4 *Powerpv],[0.7 * 5 *Powerpv,0.7 * 6 Powerpv,0.7 * 7Powerpv,0.7 * 8 *Powerpv]]
みたいになるイメージです。
コード from __future__ import division from pulp import LpVariable, LpProblem, LpStatus, lpSum, value import numpy as np import random,pulp # PV parameters Powerpv1 = LpVariable('Powerpv', 0, None) Powerpv2 = LpVariable('Powerpv', 0, None) light1=[random.uniform (0, 10) for i in range(24)] #日射量 solar1=[0.7 * q * Powerpv1 for q in light1] #pv発電量 n=3 #繰り返し数 for k in range(n): light2=[[np.random.uniform (0,10) for i in range(24)] for k in range(n)] #日射量 solar2=[0.7 * r *Powerpv2 for r in light2] #pv発電量 print(solar1) print(solar2)
エラー
TypeError Traceback (most recent call last)
<ipython-input-15-73dd3b63f0e9> in <module>
15 for k in range(n):
16 light2=[[np.random.uniform (0,10) for i in range(24)] for k in range(n)] #日射量
---> 17 solar2=[0.7 * r *Powerpv2 for r in light2] #pv発電量
18
19 print(solar1)
<ipython-input-15-73dd3b63f0e9> in <listcomp>(.0)
15 for k in range(n):
16 light2=[[np.random.uniform (0,10) for i in range(24)] for k in range(n)] #日射量
---> 17 solar2=[0.7 * r *Powerpv2 for r in light2] #pv発電量
18
19 print(solar1)
TypeError: can't multiply sequence by non-int of type 'float'
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/20 01:00