列表,元组,集合、字典练习题

1.栈的工作原理

入栈
出栈
栈顶元素
栈的长度
栈是否为空

源代码
s = ([ ])
while True:
print (‘管理目录’.center( 50, ‘*’ ) )
print("""
1.入栈
2.出栈
3.查看栈顶元素
4.查看栈的长度
5.栈是否为空
6.退出
“”")
choice = input(‘输入你的选择:’)

if choice == ‘1’:
a = input(‘入栈:’)
if a in s:
print(’%s已经存在’ %(a))
else:
s.append(a)
print(‘入栈成功’)
elif choice == ‘2’:
if s == ([]):
print(‘栈为空’)
else:
b = s.pop()
print(’%s出栈’ %(b))
elif choice == ‘3’:
if s == ([]):
print(‘栈为空’)
else:
d = s[-1]
print(‘栈顶元素为%s’ %(d))
elif choice == ‘4’:
c = len(s)
print(‘栈的长度为%s’ %©)
elif choice == ‘5’:
if s == ([]):
print(‘栈为空’)
else:
print(‘栈非空’)
elif choice == ‘6’:
exit()

在这里插入图片描述
在这里插入图片描述

2.管理会员信息

1.后台管理员用户只有一个 用户:admin 密码:admin
2.管理员登录成功后,才能管理会员信息
3.会员信息包含:
添加会员信息
删除会员信息
查看会员信息
退出
源代码
print(‘管理员登录’.center(50,’’))
inuser = input(‘Username:’)
inpasswd = input(‘Password:’)
users = [‘root’,‘hello’]
passwords = [‘123’,‘456’]
if inuser == ‘admin’ and inpasswd == ‘admin’:
while True:
print("""
操作目录
1. 添加会员信息
2. 删除会员信息
3. 查看会员信息
4. 退出
“”")
print(‘管理员登陆:’.center(50,’
’))
a = int(input(‘请输入您的选择:’))
if a == 1:
adduser = input(‘Inadduser’)
users.append(adduser)
elif a == 2:
userdel = input(‘Userdel’)
users.remove(userdel)
elif a == 3 :
print(users[:])
elif a == 4:
exit()

在这里插入图片描述
在这里插入图片描述

3.

重复的单词: 此处认为单词之间以空格为分隔符;

  1. 用户输入一句英文句子;
  2. 打印出每个单词及其重复的次数;
    “hello java hello python”

源代码
s = input(‘s:’)
s_li = s.split()
print(s_li)
word_dict = {}
for item in s_li:
if item not in word_dict:
word_dict[item] = 1
else:
word_dict[item] += 1

print(word_dict)

在这里插入图片描述
在这里插入图片描述

4.

数字重复统计:
1) 随机生成1000个整数
2) 数字范围[20,100]
3) 升序输出所有不同的数字及其每个数字的重复次数

源代码
import random
d = {}
li = []
for i in range(1000):
li.append(random.randint(20,100))
li.sort()

for i in li:
if i not in d:
d[i] =1
else:
d[i] += 1

print(d)

在这里插入图片描述
在这里插入图片描述

5.模拟轮盘抽奖游戏

轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的,
如果范围在[0,0.08)之间,代表一等奖,
如果范围在[0.08,0.3)之间,代表2等奖,
如果范围在[0.3, 1.0)之间,代表3等奖,
模拟本次活动1000人参加, 模拟游戏时需要准备各等级奖品的个数.

源代码
import random
rewardDict = {
‘一等奖’:(0,0.08),
‘二等奖’:(0.08,0.3),
‘三等奖’:(0.3,1.0)
}

def rewardFun():
#生成一个0~1之间的随机数
num = random.random()
#判断随机转盘转的是几等奖
for k,v in rewardDict.items():
if v[0] <= num < v[1]:
return k

resultDict = {}

for i in range(1000):
res = rewardFun()
if res not in resultDict:
resultDict[res] = 1
else:
resultDict[res] += 1
for k,v in resultDict.items():
print(k,’------>’,v)

在这里插入图片描述
在这里插入图片描述

展开阅读全文