def sell(user, ticker, share_num): sql = """select Ticker, SharePrice,ShareNum from account where userid = ? and ticker = ?""" cursor.execute(sql, [(user),(ticker)]) row = cursor.fetchall() market_price = float(price(ticker)) Ticker = row[0][0] SharePrice = row[0][1] ShareNum = row[0][2] share_num = int(share_num) # compute shares left after selling them shares_left = ShareNum - share_num SharePrice_new = share_num*market_price+SharePrice update = "update account set SharePrice = ? , ShareNum = ? where UserID = ? and Ticker=?" cursor.execute(update,[(SharePrice_new),(shares_left),(user),(ticker)]) conn.commit() print("You have: ",str(helpers.querySharenum(user,ticker)) + " shares left.") fh.write(user+" sold "+str(share_num)+" share(s) of "+ticker+" @ $"+str(market_price)+"\n")
print("Current market value: "+ str(market_price)) #Make sure user has enough cash while True: share_num = int(input("Enter number of shares to purchase: ").strip(' ')) if cash < (share_num * market_price): print("Not enough cash. Buy less shares.") else: break buy(user, ticker, share_num) #option SELL elif option =='3': tickerDB = helpers.queryTickers(user); print("You owe shares of :", tickerDB) while True: ticker = input("Enter ticker symbol: ").strip() #probably should make sure user does not select cash if ticker in tickerDB and ticker: break; sharenumDB = helpers.querySharenum(user,ticker) print("You have: " + str(sharenumDB) + " shares.") while True: share_num = input("Enter number of shares to sell: ").strip(' ') #Make sure user has enough shares to sell if int(share_num) <= sharenumDB: break; print("Current market value: " + str(price(ticker))) sell(user,ticker,share_num) conn.close()