首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

初学python一个细小的有关问题

2012-07-29 
初学python一个细小的问题#!/user/bin/env pythonstack[]def pushit ():stack.append(input(Enter New s

初学python一个细小的问题
#!/user/bin/env python
stack=[]
def pushit ():
  stack.append(input('Enter New string:').strip())
def popit ():
  if len(stack)==0:
  print('Can not pop from an empty stack!')
  else:
  print('Removes[',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 1>0:
  while 1>0:
  try:
  choice=input(pr).strip()[0].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[choice]()
if _name_=='_main_':
  showmenu()
这样,返回Traceback (most recent call last):
  File "E:/Python/菜单驱动.py", line 24, in <module>
  choice=input(pr).strip()[0].lower()
NameError: name 'pr' is not defined
请教,怎么改?

[解决办法]

Python code
#!/user/bin/env pythonstack = []def pushit():    stack.append(raw_input('Enter New string:').strip())def popit():    if len(stack) == 0:        print('Can not pop from an empty stack!')    else:        print('Removes[', stack.pop(), ']')def viewstack():    print (stack)    CMDs = {'u':pushit, 'o':popit, 'v':viewstack}def showmenu():    pr = '''p(U)shp(O)p(V)iew(Q)uitEnter choice:'''    while 1 > 0:        while 1 > 0:            try:                choice = raw_input(pr).strip()[0].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[choice]()if __name__ == '__main__':    showmenu() 

热点排行