元组、列表、字典及集合练习

列表练习题:

#假定有下面这样的列表:

#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

元组、列表、字典及集合练习