前提・実現したいこと
python初学者です。
innerProductはIntBag型の変数を一つ持つ。2つのIntBagのデータの個数が同じであるとき,対応する要素の積の和を求める。
例えば,IntBagの変数aとbを定義し,aに2, 4,を入れ,bに3, 5を入れるとa.innerProduct(b)は,23+45となるはずです。
データの個数が同じでない時は、適当に個数が違うことを知らせようと思います。
発生している問題・エラーメッセージ
整数を入力してください:1 整数を入力してください:2 整数を入力してください:^Z 整数を入力してください:3 整数を入力してください:4 整数を入力してください:^Z None
該当のソースコード
python
1python 2class IntBag: 3 def __init__(self): 4 self.data=[] 5 def length(self): 6 return len(self.data) 7 def set(self,i,a): 8 self.data[i]=a 9 def get(self,i): 10 return self.data[i] 11 def append(self,a): 12 self.data.append(a) 13 def readData(self): 14 try: 15 while True: 16 self.data.append(int(input("整数を入力してください:"))) 17 except EOFError: 18 pass 19 20 def innerProduct(self,i): 21 b=IntBag() 22 for i in range(b.length()): 23 if i.length==b.length: 24 print(sum((b.get(i))*(self.data.get(i)))) 25 else: 26 print("個数が違います") 27 28
from g import IntBag a=IntBag() a.readData() b=IntBag() b.readData() a.innerProduct(b)
やはり、コードが間違っているということなのでしょうが、具体的にどこが間違っているでしょうか。長時間考えても分からなかったので質問させていただきました。
初歩的な内容かつかなり間違えているかもしれませんが、どなたかご教授願えないでしょうか。
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
python 3
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/31 15:30
退会済みユーザー
2020/02/01 05:03