Я не могу найти никакого решения, чтобы изменить вывод в таблицу на Python. Может кто-нибудь помочь? Благодарю.
Я пробовал искать модули Python Lists, но это не помогает.
Я не нашел никаких предложений для ввода ответа постфикса в таблицу.
def infixToPostfix(infixexpr):
tingkatan_operator = {}
tingkatan_operator["^"] = 4
tingkatan_operator["*"] = 3
tingkatan_operator["/"] = 3
tingkatan_operator["+"] = 2
tingkatan_operator["-"] = 2
tingkatan_operator["("] = 1
operator_stack = []
postfix_list = []
for token in infixexpr:
if token in "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz" or token in "0123456789":
postfix_list.append(token)
print (" Stack : ",operator_stack)
if operator_stack == []:
print (" Top : ")
else :
print (" Top : ",operator_stack[-1])
print (" Output : ",postfix_list)
print ()
elif token == "(":
operator_stack.append(token)
print (" Stack : ",operator_stack)
if operator_stack == []:
print (" Top : ")
else :
print (" Top : ",operator_stack[-1])
print (" Output : ",postfix_list)
print ()
elif token == ")":
topToken = operator_stack.pop()
while topToken != "(":
postfix_list.append(topToken)
topToken = operator_stack.pop()
print (" Stack : ",operator_stack)
if operator_stack == []:
print (" Top : ")
else :
print (" Top : ",operator_stack[-1])
print (" Output : ",postfix_list)
print ()
elif token == ";":
topToken = operator_stack.pop()
if token != ")":
postfix_list.append(topToken)
print (" Stack : ",operator_stack)
if operator_stack == []:
print (" Top : ")
else :
print (" Top : ",operator_stack[-1])
print (" Output : ",postfix_list)
print ()
else :
while (len(operator_stack)!=0) and (tingkatan_operator[operator_stack[-1]] >= tingkatan_operator[token]):
postfix_list.append(operator_stack.pop())
print (" Stack : ",operator_stack)
if operator_stack == []:
print (" Top : ")
else :
print (" Top : ",operator_stack[-1])
print (" Output : ",postfix_list)
print ()
operator_stack.append(token)
while (len(operator_stack)!=0):
postfix_list.append(operator_stack.pop())
print (" Stack : ",operator_stack)
if operator_stack == []:
print (" Top : ")
else :
print (" Top : ",operator_stack[-1])
print (" Output : ",postfix_list)
print ()
return "".join(postfix_list)
}
тингкатан означает «уровень»
print ()
print (" PROGRAM INFIX TO POSTFIX ")
print ()
def menu():
infix1 = (input(" PUT YOUR INFIX HERE : "))
print()
infix = list(infix1.replace(" ", ""))
Postfix = infixToPostfix(infix)
print()
print(" Postfix from ",infix1," is ",Postfix)
print()
n = input(" Wanna go again? (Y/N):")
if n in ["Y","y"]:
print()
menu()
elif n in ["N","n"]:
exit()
menu()
Я думаю, что это действительно хорошие программы для конвертации инфикса в постфикс. Но моя лекция хотела, чтобы я изменил вывод в таблицу. Я так рад, что вы можете мне помочь. Спасибо
Как это