元组、列表、字典及集合练习
列表练习题:
#假定有下面这样的列表:
#names = ['lily', 'denny', 'jenny', 'apple']
#输出结果为:'I have lily,denny, jenny and apple.'
names = ['lily', 'denny', 'jenny', 'apple']
print 'I have ' + ','.join(names[:-1]) + ' and ' + names[-1]
2、后台管理前台会员信息
要求:
1.后台管理员只有一个用户:admin 密码:admin
2.当管理员登陆成功后,才可以管理用户信息
3.管理用户信息包含
添加用户信息
删除用户信息
查看用户信息
退出
print '管理员登陆'.center(50, '*')
inuser = raw_input('UserName:')
inpasswd = raw_input('Password:')
# 现存用户名
users = ['root', 'westos']
# 现存用户密码
passwds = ['123', '456']
if inuser == 'admin' and inpasswd == 'admin':
print '管理员登陆成功'
print '用户信息管理'.center(50, '*')
while True:
print """
1 -添加用户信息
2 -删除用户信息
3 -查看用户信息
4 -退出
"""
choice = raw_input('请选择你的操作:')
if choice == '1':
print '添加用户信息'.center(50, '*')
addUser = raw_input('添加用户:')
if addUser in users:
print '用户%s已经存在' % addUser
else:
addPasswd = raw_input('密码:')
# 把用户名和密码添加到列表中
users.append(addUser)
passwds.append(addPasswd)
print '添加用户%s成功' %addUser
elif choice == '2':
print '删除用户信息'.center(50,'*')
delUser = raw_input('删除的用户:')
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) #2
for i in range(userCount): # 0 ,1
print '\t%s\t%s' %(users[i],passwds[i])
elif choice == '4':
exit()
else:
print '请输入正确的选择'
else:
print '管理员登陆失败!'
3、用户管理系统(方法1)
要求:
1.系统里面有用户 用户有密码
users = ['root','westos']
passwds = ['123','456']
2.用户登陆(判断用户登陆是否成功)
1).判断用户是否存在
2).如果存在:
判断用户密码是否正确:先找出用户对应的索引,
根据passwds[索引值]
如果正确:登陆成功,退出循环
如果密码不正确:重新登陆 (机会只有三次)
2).不存在
重新登陆(机会只有三次)
users = ['root', 'westos']
passwds = ['123', '456']
trycont = 0
# 尝试登陆的次数
while trycont < 3:
inuser = raw_input('用户名:')
inpasswd = raw_input('密码:')
# 尝试次数+1
trycont += 1
if inuser in users:
# 判断用户密码是否正确
index = users.index(inuser) # 先找用户对应的索引值
passwd = passwds[index]
if inpasswd == passwd:
print '%s 登陆成功' % inuser
break
else:
print '%s 登陆失败' % inuser
else:
print '用户%s 不存在' % inuser
else:
print '三次机会已经用完'
4、用户管理系统(方法2)
users = ['root', 'westos']
passwds = ['123', '456']
i = 0
while i < 3:
user = raw_input('用户名:')
passwd = raw_input('密码:')
i += 1
if user in users:
num = users.index(user)
if passwd == passwds[num]:
print ('登陆成功')
break
else:
print ('登录失败')
print ('你还有%d次机会') % (3 - i)
else:
print ('登录失败,3次机会已用完,请稍后再试')
5、笔试题
要求:
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,对于
其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着不同的学生的学号,然后再把这些
数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“去重”与排序工作
import random
# 先 生成n个随机数
# 优先选择集合
s = set([])
for i in range(int(raw_input('N:'))):
# num = random.randint(1,1000)
# s.add(num)
s.add(random.randint(1,1000))
print s
print sorted(s)
6、字典练习题
要求:
# 重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;
# 1. 用户输入一句英文句子;
# 2. 打印出每个单词及其重复的次数;
"hello java hello python"
# hello 2
# java 1
# python 1
s = raw_input('s:')
# 1.把每个单词分割处理
s_li = s.split()
print s_li
# 2.通过字典存储单词和该单词出现的次数
words_dict = {}
"""
依次循环遍历列表
如果列表元素不在字典的key中,将元素作为key 1作为valus值
如果列表元素在字典的key中,直接更新元素value值,在原有的基础上加1
"""
for item in s_li:
if item not in words_dict:
words_dict[item] = 1
else:
words_dict[item] += 1
# 4.打印生成的字典
print words_dict