首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在if-语句中函数之前未执行的代码

在if-语句中函数之前未执行的代码
EN

Stack Overflow用户
提问于 2022-11-24 14:05:24
回答 1查看 33关注 0票数 0

我正在尝试运行一个if-语句,一旦选择了数字1到7,相应的财务数据就会被上传为代码。但是,在我的if语句中,导入数据的代码没有运行,它直接跳转到函数main_2()。函数main_2()和导入金融数据的代码都是作为结束符,然后保持‘关闭’单独运行完美,但是当放在if语句中时,main_2()只运行。我正在使用spyder运行这个程序。

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2022-11-24 14:16:50

您应该有以下错误:NameError: name 'ticker' is not defined

调用main_2作为参数:main_2(ticker),为了测试它,您可以在main_2中打印ticker以查看它是否正常工作。

代码语言:javascript
复制
def main_2(ticker): 
    print(ticker)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74562016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档