2017-04-08 54 views
0

此程序是一个银行系统。它连接到一个包含客户详细信息和交易细节的在线数据库。但是,当我执行代码时,我在python 3.4.0 shell中得到空白输出:当我执行以下代码时,Python输出为空:

import pyodbc 

cnxn = pyodbc.connect('Driver={SQL Server};' 
          'Server=***;' 
          'Database=***;' 
          'uid=***;pwd=***') 
cursor = cnxn.cursor() 

def MainMenu(): 
    print('##############################\n\tWelcome to the XYZ Banking System\n##############################') 
    print() 
    print('PLEASE ENTER THE NUMBER CORRESPONDING TO YOUR DESIRED COMMAND IN THE PROMPT BELOW : \n\t1.ACCESS CUSTOMER DETAILS\n\t2.ACCESS TRANSACTION PORTAL\n##############################') 
    print() 
    var_UserInput=input('>>>') 
     if var_UserInput=='1': 
      return CustomerPortal() 

def CustomerPortal(): 
    cursor.tables() 
    rows = cursor.fetchall() 
    for row in rows: 
     print (row.customer) 

MainMenu() 
+1

您的缩进被搞砸了。该代码根本不会运行;它会产生一个'IndentationError'。 –

+0

您是否在SO上发布专有代码? –

+0

@MadPhysicist一点都不。请欣赏你的关心。 – idl99

回答

1

试试这个。我做了一些改变:

下面的代码。

import pyodbc 


def main_menu(): 
    print('##############################\n\tWelcome to the XYZ Banking System\n##############################') 
    print() 
    print('PLEASE ENTER THE NUMBER CORRESPONDING TO YOUR DESIRED COMMAND IN THE PROMPT BELOW : \n\t1.ACCESS CUSTOMER DETAILS\n\t2.ACCESS TRANSACTION PORTAL\n##############################') 
    print() 
    var_user_input=input('>>>') 
     if var_user_input=='1': 
      return customer_portal() 

def customer_portal(): 
    cnxn = pyodbc.connect('Driver={SQL Server};' 
           'Server=***;' 
           'Database=***;' 
           'uid=***;pwd=***') 
    cursor = cnxn.cursor() 
    cursor.tables() 
    rows = cursor.fetchall() 
    for row in rows: 
     print (row.customer) 
    cursor.close() 

if __name__ == "__main__": 
    main_menu() 

祝你好运!

+0

非常感谢您的反馈。这确实是缩进问题。另外我还做了一些其他修改,例如创建一个名为Menu的类,并使用该类构造函数创建其他菜单。现在一切似乎都是为了:-) – idl99

+0

太棒了!你能标记答案正确吗?听起来就像你在正确的道路上! – FlipperPA