Python 创建列表时遇到问题
我制作了一个股票筛选器,它提供符合我标准的股票的技术信息,最后,我希望它打印出一份符合我标准的股票的简明列表。我尝试使用append函数,但它只打印一种股票,相反,我希望它打印打印的每种股票的股票代码,例如“mmm” 当前输出如下所示。 嗯 尾随市盈率:17.61 股本回报率:54.34% 收入:32.35亿美元 季度收入增长:-5.00%Python 创建列表时遇到问题,python,python-3.x,list,finance,Python,Python 3.x,List,Finance,我制作了一个股票筛选器,它提供符合我标准的股票的技术信息,最后,我希望它打印出一份符合我标准的股票的简明列表。我尝试使用append函数,但它只打印一种股票,相反,我希望它打印打印的每种股票的股票代码,例如“mmm” 当前输出如下所示。 嗯 尾随市盈率:17.61 股本回报率:54.34% 收入:32.35亿美元 季度收入增长:-5.00% def scrape(库存清单、感兴趣的、技术性的): 对于每个库存清单: technicals=scrape_yahoo(每只股票) 条件_1=浮动(技
def scrape(库存清单、感兴趣的、技术性的):
对于每个库存清单:
technicals=scrape_yahoo(每只股票)
条件_1=浮动(技术性。获取('股本回报率',0)。替换('%','')。替换('N/A','-100'))>25
条件2=浮动(技术参数get('training P/E',0)。替换('N/A','')>15
条件_3=float(technicals.get('Price/Book(mrq)'0))这是因为您在每个循环中重置了建议库存SuggestedStocks=[]
您应该在循环外初始化它。为什么要在append()之前将SuggestedStocks
初始化到循环内的空列表中
?我没有否决投票-请停止做出不真实的假设,继续讨论代码。例如,if(条件1和条件2)==True:
,如果条件1和条件2:
,可能会像那样更像python教-祝您愉快!我以后会注意的!
def scrape(stock_list, interested, technicals):
for each_stock in stock_list:
technicals = scrape_yahoo(each_stock)
condition_1 = float(technicals.get('Return on Equity',0).replace('%','').replace('N/A','-100')) > 25
condition_2 = float(technicals.get('Trailing P/E',0).replace('N/A','')) > 15
condition_3 = float(technicals.get('Price/Book (mrq)',0)) <15
if (condition_1 and condition_2)==True:
print(each_stock)
SuggestedStocks = []
SuggestedStocks.append(each_stock)
for ind in interested:
print(ind + ": "+ technicals[ind])
print("------")
time.sleep(1) # Use delay to avoid getting flagged as bot
#return technicals
print(SuggestedStocks)
def main():
stock_list = ['MMM', 'ABT', 'ABBV', 'ABMD', 'ACN', 'ATVI', 'ADBE', 'AMD']
interested = ['Trailing P/E', 'Return on Equity', 'Revenue', 'Quarterly Revenue Growth']
technicals = {}
tech = scrape(stock_list, interested, technicals)
print(tech)
main()