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)
运行结果: