我正在尝试运行一个if-语句,一旦选择了数字1到7,相应的财务数据就会被上传为代码。但是,在我的if语句中,导入数据的代码没有运行,它直接跳转到函数main_2()。函数main_2()和导入金融数据的代码都是作为结束符,然后保持‘关闭’单独运行完美,但是当放在if语句中时,main_2()只运行。我正在使用spyder运行这个程序。
import yahoofinance as yf
def main_():
print("Choose dataset")
print("1.Amazon \n2.Apple \n3.Cisco \n4.Meta \n5.Microsoft \n6.Qualcomm \n7.Starbucks")
choice = input("Please choose option: ")
if choice == '1':
ticker = yf.Ticker('AMZN')
ticker = ticker.history(period="5y")
ticker_ = ticker[['Close']]
print('1.Descriptive Analytics \n2.Visual Analysis \n3.Predictive Analysis')
main_2()
if choice == '2':
ticker = yf.Ticker('AAPL')
ticker = ticker.history(period="5y")
ticker_ = ticker[['Close']]
print('1.Descriptive Analytics \n2.Visual Analysis \n3.Predictive Analysis')
main_2()
if choice == '3':
ticker = yf.Ticker('CSCO')
ticker = ticker.history(period="5y")
ticker_ = ticker[['Close']]
print('1.Descriptive Analytics \n2.Visual Analysis \n3.Predictive Analysis')
main_2()
if choice == '4':
ticker = yf.Ticker('META')
ticker = ticker.history(period="5y")
ticker_ = ticker[['Close']]
print('1.Descriptive Analytics \n2.Visual Analysis \n3.Predictive Analysis')
main_2()
if choice == '5':
ticker = yf.Ticker('MSFT')
ticker = ticker.history(period="5y")
ticker_ = ticker[['Close']]
print('1.Descriptive Analytics \n2.Visual Analysis \n3.Predictive Analysis')
main_2()
if choice == '6':
ticker = yf.Ticker('QCOM')
ticker = ticker.history(period="5y")
ticker_ = ticker[['Close']]
print('1.Descriptive Analytics \n2.Visual Analysis \n3.Predictive Analysis')
main_2()
if choice == '7':
ticker = yf.Ticker('SBUX')
ticker = ticker.history(period="5y")
ticker_ = ticker[['Close']]
print('1.Descriptive Analytics \n2.Visual Analysis \n3.Predictive Analysis')
main_2()
def main_2():
typ = input('Choose type of analysis:')
if typ == '1':
print(ticker_.describe())
main_()
elif typ == '2':
print('1.Moving Averages \n2.Scatter plot \n3.Trend Lines')
main_3()
elif typ == '3':
predictive()
main_()
def main_3():
graphical = input('Choose sort of graphical analysis:')
if graphical == '1':
moving_averages()
main_4()
elif graphical == '2':
scatter_plot()
main_4()
elif graphical == '3':
trend_line()
main_4()
def main_4():
print('1.Return to Main Menu \n2.Quit')
option = input('Choose option:')
if option == '1':
main_()
elif option == '2':
quit()
main()发布于 2022-11-24 14:16:50
您应该有以下错误:NameError: name 'ticker' is not defined
调用main_2作为参数:main_2(ticker),为了测试它,您可以在main_2中打印ticker以查看它是否正常工作。
def main_2(ticker):
print(ticker)https://stackoverflow.com/questions/74562016
复制相似问题