我正在尝试获取列表share_list
,然后逐个遍历列表并生成针对结果定制的输出。我有两个问题:我不知道如何使用for
循环遍历列表,我收到此错误:
Traceback (most recent call last):
File "C:\Users\Andrew\Documents\Python Projects\DataAnalytics\algorithm.py", line 9, in <module>
if check_pb_ratio.get_price_book() <= 1:
TypeError: unorderable types: str() <= int()
from yahoo_finance import Share
share_list = ['AAPL', 'GEVO', 'PTX']
for ticker in share_list:
check_pb_ratio = Share(share_list[0])
if check_pb_ratio.get_price_book() <= 1:
print(str(check_pb_ratio.get_price_book()))
else:
print("P/B Ratio is too high.")
答案 0 :(得分:0)
这样做的原因是函数check_pb_ratio.get_price_book()
返回一个字符串,而不是一个int。 Python并不想知道&#39; 1&#39;之间的相似性。 1.所以,解决问题的方法是:在int()
附近添加float()
或check_pb_ratio.get_price_book()
答案 1 :(得分:0)
感谢@Rawing
此代码现在可以使用,我只需修复一个NoneType问题。谢谢!
from yahoo_finance import Share
share_list = ['AAPL', 'GEVO', 'PTX']
for ticker in share_list:
check_pb_ratio = Share(ticker)
if float(check_pb_ratio.get_price_book()) <= 1:
print(str(check_pb_ratio.get_price_book()))
else:
print("P/B Ratio is too high.")