Python基础_练习02

1.实现队列
队列的工作原理:先入先出
----入队
----出队
----队头
----队尾
----队列的长度
----队列是否为空
----显示队列元素

代码:

queue = []
while True:
    print("""
        操作目录
        1.入队
        2.出队
        3.队头
        4.队尾
        5.队列的长度
        6.队列是否为空
        7.显示队列元素
        8.退出
    """)
    choice = input('请输入操作:')
    if choice == '1':
        item = input('请输入元素:')
        queue.append(item)
        print('元素%s入队成功' % item)
    elif choice == '2':
        if len(queue) == 0:
            print('队列为空,不能出队')
        else:
            item = queue.pop(0)
            print('元素%s出队成功' % item)
    elif choice == '3':
        if not queue:
            print('队列为空,无队头')
        else:
            print('队头为:%s' % queue[0])
    elif choice == '4':
        if not queue:
            print('队列为空,无队尾')
        else:
            print('队尾为:%s' % queue[-1])
    elif choice == '5':
        print('队列的长度:%s' % len(queue))
    elif choice == '6':
        if len(queue) == 0:
            print('队列为空')
        else:
            print('队列不为空')
    elif choice == '7':
        count = len(queue)
        print('显示队列元素:',end='')
        for i in range(count):
            print(queue[i],end=' ')

    elif choice == '8':
        print('欢迎下次使用!')
        break
    else:
        print('请输入正确的操作!')

运行结果:

在这里插入图片描述

2.用户管理系统
后台管理员只有一个用户: admin, 密码: admin
当管理员登陆成功后, 可以管理前台会员信息.
会员信息管理包含:
----添加会员信息
----删除会员信息
----查看会员信息
----退出

代码:

for i in range(3):
    print('管理员登录'.center(50,'*'))
    inuser = input('UserName:')
    inpasswd = input('Password:')

    users = ['root','student']
    passwds = ['redhat','westos']
    if inuser == 'admin' and inpasswd == 'admin':
        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)
                else:
                    addpasswd = input('添加密码:')
                    users.append(adduser)
                    passwds.append(addpasswd)
                    print('用户%s添加成功!' % adduser)
            elif choice == '2':
                print('删除会员信息'.center(50,'*'))
                deluser = input('删除会员名:')
                if deluser not in users:
                    print('用户%s不存在!' % deluser)
                else:
                    delindex = users.index(deluser)
                    users.remove(deluser)
                    passwds.pop(delindex)
                    print('用户%s删除成功!' % deluser)
            elif choice == '3':
                print('查看会员信息'.center(50,'*'))
                print('\t会员名\t密码')
                usercount = len(users)
                for i in range(usercount):
                    print('\t%s\t%s' %(users[i],passwds[i]))
            elif choice == '4':
                print('欢迎下次使用!')
                exit()
            else:
                print('请输入正确的操作!')
        break
    else:
        print('管理员登录失败!')
else:
    print('您的机会已经用完!')

运行结果:
在这里插入图片描述
3.数字重复统计
----随机生成1000个整数;
----数字的范围[20, 100];
----升序输出所有不同的数字及其每个数字重复的次数。
代码:

import random 
# 定义列表
digit = []
# 在[20,100]的范围内生成1000个随机数
for i in range(1000):
    digit.append(random.randint(20,100))
# 将生成的数字做升序排序   
digit_sorted = sorted((digit))
count = {}
# 将生成的数字添加到字典中,并计数
# 遍历列表digit_sorted
#     如果列表元素不在字典的key中,将元素作为key, 1作为value加入字典
#     如果列表元素在字典的key中,直接更新value值(即在原有基础上加1)
for i in digit_sorted: 
    if i in count:
        count[i] += 1
    else:
        count[i] = 1

print(count)
# print('数字\t\t\t重复次数')
# for k,v in count.items():
#     print('%s\t\t\t%s' %(k,v))

运行结果:

{20: 14, 21: 10, 22: 4, 23: 19, 24: 17, 25: 11, 26: 13, 27: 9, 28: 9, 29: 15, 30: 11, 31: 19, 32: 20, 33: 13, 34: 13, 35: 18, 36: 6, 37: 10, 38: 10, 39: 8, 40: 15, 41: 10, 42: 12, 43: 7, 44: 11, 45: 14, 46: 17, 47: 14, 48: 13, 49: 16, 50: 11, 51: 17, 52: 13, 53: 11, 54: 9, 55: 14, 56: 19, 57: 14, 58: 13, 59: 8, 60: 16, 61: 13, 62: 11, 63: 15, 64: 17, 65: 18, 66: 9, 67: 11, 68: 11, 69: 12, 70: 13, 71: 7, 72: 12, 73: 12, 74: 5, 75: 15, 76: 9, 77: 9, 78: 13, 79: 10, 80: 12, 81: 12, 82: 12, 83: 13, 84: 17, 85: 18, 86: 14, 87: 12, 88: 8, 89: 12, 90: 14, 91: 12, 92: 13, 93: 9, 94: 7, 95: 11, 96: 20, 97: 8, 98: 9, 99: 8, 100: 14}

在这里插入图片描述
在这里插入图片描述
4.重复的单词
此处认为单词之间以空格为分隔符, 并且不包含 , 和 . ;
----用户输入一句英文句子;
---- 打印出每个单词及其重复的次数;

代码:

word = input('请输入英文句子:')
# 用空格将字符串分离
word_split = word.split(' ')
word_nums = {}
for i in word_split:
    if i in word_nums:
        word_nums[i] += 1
    else:
        word_nums[i] = 1
print(word_nums)

运行结果:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值