У меня есть ниже код, где у меня есть две функции print_menu() и pStockName()Функция не получает называется
def print_menu():
print ("\t\t\t\t 1. Get Stock Series ")
print ("\t\t\t\t 2. Invoke Stocks.")
print ("\t\t\t\t 3. Generate DC Stock List . ")
print ("\t\t\t\t 4. QUIT")
def pStockName():
global StockList, fStockList
pStockList = []
fStockList = []
StockList = str(raw_input('Enter pipe separated list of StockS : ')).upper().strip()
items = StockList.split("|")
count = len(items)
print 'Total Distint Stock Count : ', count
items = list(set(StockList.split("|")))
# pipelst = StockList.split('|')
# pipelst = [i.split('-mc')[0] for i in StockList.split('|')]
# pipelst = [i.replace('-mc','').replace('-MC','').replace('$','').replace('^','') for i in StockList.split('|')]
pipelst = [i.replace('-mc', '').replace('-MC', '').replace('$', '').replace('^', '') for i in items]
# pipelst = [Stock.rsplit('-mc',1)[0] for Stock in pipelst]
filepath = '/location/Stock_data.txt'
f = open(filepath, 'r')
for lns in f:
split_pipe = lns.split(':', 1)
if split_pipe[0] in pipelst:
index = pipelst.index(split_pipe[0])
pStockList = split_pipe[0] + "|"
fStockList.append(pStockList)
del pipelst[index]
# f.close()
for lns in pipelst:
print bcolors.red + lns, ' is wrong Stock Name' + bcolors.ENDC
if lns:
uResp = str(raw_input('Do You Want To Continue with option 0 [YES|Y|NO|N] : ')).upper().strip()
if uResp == "NO" or uResp == "N":
os.system("tput clear")
print bcolors.FAIL + "\n PLEASE USE OPTION 0 TO ENTER THE Stock NAMES BEFORE PROCEEDING." + bcolors.ENDC
# StockList = None
print_menu()
else:
pStockName()
f.close()
В коде выше вы должны видеть в 4-й последней строке я вызываю функцию print_menu(). Но это просто печать содержимого функции print_menu(), которая не выполняет никакой операции и не переходит в функцию pStockName(). Последующие операции я хочу, чтобы выполнить из print_menu() функцию, когда я называю его:
while choice >= 1 and choice < 4:
if choice == 4:
os.system("tput clear")
if StockList:
uResp = str(raw_input(
bcolors.FAIL + 'Do you need to move : ' + StockList + ' ? Press Y To Go Back to Main Menu and N to Quit [YES|Y|NO|N] : ')).upper()
if uResp == "NO" or uResp == "N":
print bcolors.HEADER + "GoodBye." + bcolors.ENDC
break
Я хочу сказать, когда я звоню функцию print_menu() в pStockName() функции в 4-й последней строки из pStockName (функция) он должен печатать содержимое функции print_menu(), и когда я нажимаю 4, он должен выполнить операцию. Но когда я нажимаю какую-либо опцию от 1 до 4, она переходит только в функцию pStockName().
Пожалуйста, помогите мне, что я делаю неправильно здесь.
Собственно, вы не определяете 'choice'. Ваш сценарий понятия не имеет, что такое '' выбор'': (((( – mlwn
@Mlwn извините забыли вставить это. Отредактировано в исходном коде. Пожалуйста, посмотрите. – Ritesh
вы все еще не присвоили значение 'choice' – mlwn