幕辰沨 2021-03-27 14:52 采纳率: 0%
浏览 32

input 数字1后不能进入循环,但是打印出choice的值也是1

def main():
    while True:
        menum()    #while Ture 相当于一只执行无线循环语句,这里显示系统主菜单,直到break退出系统
        choice = input('请选择')
        if type(eval(choice)) == int:
            print(type(eval(choice)))
            print(choice)
            if choice in [0,1,2,3,4,5,6]:
                if choice == 0:
                    answer = input('你确定要退出系统么y/n')
                    if answer =='y'or answer=='Y':
                        break
                    else:
                        continue
        else:
            print('jjjjjj')
def menum():
    print('----------学生管理系统----------')
  • 写回答

3条回答 默认 最新

  • CSDN专家-孙老师 2021-03-27 15:14
    关注

    原因在于这里的变量choice是字符型。

    if choice in [0,1,2,3,4,5,6]:
        if choice == 0:
            answer = input('你确定要退出系统么y/n')
            ......

    可以在输入choice变量之后,统一处理一下变量choice。例如,choice=eval(choice)

    评论

报告相同问题?

悬赏问题

  • ¥15 刚接触VFP,我想知道为什么是这种情况,有人可以看看吗
  • ¥15 io.jsonwebtoken.security.Keys
  • ¥15 急,ubuntu安装后no caching mode page found等
  • ¥15 联想交换机NE2580O/NE1064TO安装SONIC
  • ¥15 防火墙的混合模式配置
  • ¥15 Ubuntu不小心注销了要怎么恢复啊
  • ¥15 win10电脑安装完plcsim advanced4.0运行时为什么会提示找不到虚拟网卡
  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信