TypeError:不支持的操作数类型 - :'str'和'str'

use*_*204 4 python

一个"$"

money=1000000;
portfolio=0;
value=0;
value=(yahoostock.get_price('RIL.BO'));
portfolio=(16*(value));
print id(portfolio);
print id(value);
money= (money-portfolio);
'''
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Traceback (most recent call last):
  File "/home/dee/dee.py", line 12, in <module>
    money= (value-portfolio);
TypeError: unsupported operand type(s) for -: 'str' and 'str'
Run Code Online (Sandbox Code Playgroud)

由于钱是整数,投资组合也是如此,我无法解决这个问题.任何人都可以帮忙???

Chr*_*uma 5

money并且portfolio显然是字符串,所以将它们转换成int:

money= int( float(money)-float(portfolio) )
Run Code Online (Sandbox Code Playgroud)


Win*_*ert 5

value=(yahoostock.get_price('RIL.BO'));
Run Code Online (Sandbox Code Playgroud)

显然返回一个字符串而不是一个数字.将其转换为数字:

value=int(yahoostock.get_price('RIL.BO'));
Run Code Online (Sandbox Code Playgroud)

信噪比也不是很高.你有很多(,)和; 你不需要.您只分配变量以在下一行替换它们.您可以使代码更好:

money = 1000000
value = int(yahoostock.get_price('RIL.BO'));
portfolio = 16 * value;
print id(portfolio);
print id(value);
money -= portfolio;
Run Code Online (Sandbox Code Playgroud)