51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 8838|回复: 2
打印 上一主题 下一主题

[求助] python的NameError: name 'xx‘ is not defined该怎么解决?

[复制链接]
  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 406 天

    连续签到: 3 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2019-2-25 10:50:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    初学python 按着书上的代码打 想看看运行过程 代码如下
    1. stack=[]
    2. def pushit():
    3.     stack:append(input(' Enter New String: ').strip())
    4. def popit():
    5.     if len(stack)==0:
    6.         print('Cannot pop from an empty stack!')
    7.     else:
    8.         print ('Removes [','stack.pop()',']')
    9. def viewstack():
    10.     print(stack)
    11. CMDs={'u':pushit,'o':popit,'v':viewstack}
    12. def showmenu():
    13.     pr='''
    14. p(U)sh
    15. p(O)p
    16. (V)iew
    17. (Q)uit

    18. Enter choice:'''
    19. while True:
    20.     while True:
    21.         try:
    22.             choice=input(pr).strip()[0].lower()
    23.         except (EOFError,KeyboardInterrupt,IndexError):
    24.             choice='q'
    25.         print('\nYou picked:[%s]'%choice)
    26.         if choice not in 'uovq':
    27.             print('Invalid option,try again')
    28.         else:
    29.             break
    30.         if choice=='q':
    31.             break
    32.         CMDs[choice]()
    33. if _name_=='_main_':
    34.     showmenu()
    复制代码
    但是总提示NameError: name 'pr' is not defined ,该怎么解决这个问题?

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2019-2-25 15:12:26 | 只看该作者
    是哪一行报错?
    回复

    使用道具 举报

    该用户从未签到

    3#
    发表于 2019-2-26 01:05:34 | 只看该作者
    def showmenu():
        pr = '''
        p(U)sh
        p(O)p
        (V)iew
        (Q)uit

        Enter choice:'''
        while True:
            while True:
                try:
                    choice=input(pr).strip()[0].lower()
                    print(choice)
                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

    if __name__ == '__main__':
        showmenu()


    我这个是调试可以的了,你可以对比下你的
    注意下划线是双下划线,while注意缩进
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-3 09:05 , Processed in 0.058614 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表