python 程序报错
我完全按照教科书上写的程序,怎么执行不了的,程序如下 :#!/usr/bin/env python
stack = []
def pushit():
stack.append(raw_input('Enter New string:').strip())
def popit():
if len(stack) == 0 :
print 'Cannot pop from an empty stack!'
else:
print 'Removed [',`stack.pop()` ,']'
def viewstack():
print stack
CMDs = {'u':pushit,'o':popit,'v':viewstack}
def showmenu():
pr = '''
p(U)sh
p(O)p
(V)iew
(Q)uit
Enter choice:'''
while True :
while True:
try:
choice = raw_input(pr).strip().lower()
except (EOFError,KeyboardInterrupt,IndexError):
choice = 'q'
print '\nYou picked:[%s]' %choice
if choice not in 'uovq':
print 'Invalid option,try again'
else:
break
if choice == 'q':
break
CMDs()
if _name_ == '_main_':
showmenu()
执行之后报错:
# python stack.py
Traceback (most recent call last):
File "stack.py", line 37, in <module>
choice = raw_input(pr).strip().lower()
NameError: name 'pr' is not defined 回复 1# jack_yanf
while True :
while True:
try:
这段代码是在showmenu下面,缩进格式不对,所以找不到pr
另外, _main_写法是错的,是__main__,前后都是2个下划线 回复 2# liion631818
原先缩进有大问题,然后那个两个下划线,刚接触python不久,还不是很清楚,太谢谢你的回答了。:handshake
页:
[1]