76. 用python完成用户登录和栈的实现

Lesson 76 用python完成用户登录和栈的实现

1. 用户登录
 users = ['root','redhat']
 passwd = ['123','456']

1.用户名是否存在
2.如果存在:1)判断密码是否正确(如果正确,登录成功并退出循环)
2)错误(重新登录,只有3次机会)
3.用户不存在(重新登录,只有3次机会)

#####
1.后台管理员用户:admin,密码:westos
2.管理员登录后,可管理用户信息
3.用户信息包括:1添加用户信息,2删除用户信息,3查看用户信息,4退出

print('管理员登录'.center(50,'*'))
aduser = input('Username: ')
adpasswd = input('Password: ')

#系统用户信息
users = ['root','redhat']
passwd = ['123','456']

if aduser == 'admin' and adpasswd == 'westos':
    print('管理员登录成功!')
    print('用户登录'.center(50, '*'))
    while True:
        print("""
            菜单
        1.添加用户信息
        2.删除用户信息
        3.查看用户信息
        4.退出
        """)
        choice = input('请输入你的选择: ')
        if choice == '1':
            print('添加用户信息'.center(50,'*'))
            adduser = input('添加用户名: ')
            if adduser in users:
                # print('用户%s已经存在' %adduser)
                print(f"用户{adduser}已经存在")
            else:
                addpasswd = input('密码: ')
                users.append(adduser)
                passwd.append(addpasswd)
                print(f"用户{adduser}添加成功")

        elif choice == '2':
            print('删除用户信息'.center(50, '*'))
            deluser = input('删除用户名: ')
            if deluser in users:
                delindex = users.index(deluser)
                users.remove(deluser)
                passwd.pop(delindex)
                print(f"删除用户{deluser}成功")
            else:
                print(f"用户{deluser}不存在")

        elif choice == '3':
            print('查看用户信息'.center(50, '*'))
            print('\t用户名\t密码')
            userlenth = len(users)
            for i in range(userlenth):
                print('\t%s\t%s' %(users[i],passwd[i]))

        elif choice == '4':
            exit()

        else:
            print('请输入正确的选择!')
else:
    print('管理员登录失败!')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来进行测试:当输入正确的用户名和密码(admin和westos),可以看到,显示管理员登陆成功,显示菜单供管理员选择
在这里插入图片描述
当输入3,可以查看当前系统的存在用户名和密码
在这里插入图片描述
当输入1,显示请添加用户名,输入的用户名若系统已经存在,则会报错,若系统中不存在要添加的用户,则请输入密码,然后添加
在这里插入图片描述
输入3,查看添加的用户是否已经存在在系统中
在这里插入图片描述
当输入2,则要删除用户,当用户名不在系统中时,显示用户不存在
在这里插入图片描述当输入2, 删除redhat用户,则能够成功删除用户

在这里插入图片描述
再次输入3查看,redhat用户已经被成功删除
输入4,退出程序
在这里插入图片描述

2. 栈的实现
stack = []
info = """
栈操作:
1.入栈
2.出栈
3.栈顶元素
4.栈的长度
5.栈是否为空
exit.退出
"""
while True:
    print(info)
    choice = input("Please input your option:")
    if choice == '1':
      item = input('入栈元素:')
      stack.append(item)
      print('%s元素入栈成功~' % item)
    elif choice == '2':
      if not stack:
        print('栈为空,不能出栈')
      else:
        item = stack.pop()
        print('%s元素出栈成功~' % item)
    elif choice == '3':
       if len(stack) == 0:
          print('栈为空,无法查看栈顶元素')
       else:
          print('栈顶元素为%s' % (stack[-1]))
    elif choice == '4':
          print('栈的长度为%s' % (len(stack)))
    elif choice == '5':
        if len(stack) == 0:
          print('栈为空')
        else:
          print('栈不为空')
    elif choice == 'exit':
          print('Bye~')
          break
    else:
          print('选项错误,请输入正确的操作!')

在这里插入图片描述
在这里插入图片描述
测试:
运行程序,可以看到,在控制台显示菜单,用户输入选项
用户输入1,可以看到,请用户输入入栈元素,当用户输入入栈元素回车,可以看到用户输入的元素入栈成功
在这里插入图片描述
再次显示菜单,用户再添加一个入栈元素,当用户输入的选项不是菜单里的,输出选项错误,请用户重新输入选项
在这里插入图片描述
当用户输入3可以查看栈顶元素
在这里插入图片描述
当用户输入4,可以查看栈的长度
当用户输入5,可以显示栈是否为空
在这里插入图片描述
当用户输入2,可以看到,栈顶元素出栈成功
当用户输入exit,可以看到,显示Bye~ 并且退出程序
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值