expenses_calc関数から取得した戻り値の合計を取得しようとしていますが、 "TypeError: 'float'オブジェクトが反復可能ではありません。このエラーを解決するには、私はどのような変更を行う必要がありますか?TypeError: 'float'オブジェクトは、合計を使用すると反復不可能です
from nsetools import Nse
nse = Nse()
#Name of stocks and buy prices
stocks = {
"APLAPOLLO": 878.2,
"AVANTIFEED": 488.95,
"BALAMINES": 308.95
}
#Quantity of stocks
qty = {
"APLAPOLLO": 10,
"AVANTIFEED": 10,
"BALAMINES": 10
}
def get_closing(stock):
"""
Function to obtain closePrice of stocks
"""
return nse.get_quote(stock)['buyPrice1']
def expenses_calc(buy,sell,qty):
"""
Function to calculate the applicable expenses
"""
stt = 0.10
ttc = 0.00325
service_tax = 15.0
sebi_charges = 0.0002
swacch_bharat_cess = 0.02
stamp_duty = 0.01
turnover = (buy * qty) + (sell * qty)
stt_total = (stt/100) * turnover
total_tran_charge = (ttc/100) * turnover
service_tax = (service_tax/100) * total_tran_charge
sebi_charges = (sebi_charges/100) * turnover
stamp_duty = (stamp_duty/100) * turnover
total_tax_and_charges = stt_total + total_tran_charge + service_tax + sebi_charges + stamp_duty
total_investment = buy * qty
current_value = sell * qty
net_profit = (sell * qty) - (buy * qty) - total_tax_and_charges
return net_profit
#For loop that calls the expenses_calc function in a loop with the right arguments
for key in stocks.keys():
buy_price = stocks[key]
sell_price = get_closing(key)
stock_qty = qty[key]
expenses_func_call = expenses_calc(buy_price, sell_price, stock_qty)
print(sum(expenses_func_call))
タイプのエラーは、私はこれはまた、空のmyresultsリストを作成し、次いでリストの合計を印刷することにexpenses_calc関数の戻り値を追加しようとしている
print(sum(expenses_func_call))
発生線動作しません。リストmyresultsに値を追加すると、あなたの次の試みで
for key in stocks.keys():
myresults = []
buy_price = stocks[key]
sell_price = get_closing(key)
stock_qty = qty[key]
expenses_func_call = expenses_calc(buy_price, sell_price, stock_qty)
myresults.append(expenses_func_call)
print(sum(myresults))
'sum'は繰り返し可能ですが、' expenses_func_call'は 'expenses_calc'の呼び出しの結果であり、' expenses_calc'は反復可能ではなく数字を返します。 – TigerhawkT3
そして、すべての反復ではなく、ループの前に 'myresults = []'を初期化しようとしましたか?どのように動作しませんでしたか?エラーメッセージですか?間違った出力?他に何か? – TigerhawkT3