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

列表练习题:

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

#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

 

Python 中的列表(list)、元组(tuple)、字典(dict)和集合(set)是四种常用的数据结构,它们各有特点和使用场景: 1. 列表(list): 列表是可变的,支持元素的增加、删除和修改。列表中的元素可以是任意类型,并且可以包含重复的元素。 ```python # 创建列表 my_list = [1, 2, 3, 4, 5] # 添加元素 my_list.append(6) # 修改元素 my_list[0] = 0 # 删除元素 my_list.remove(5) print(my_list) # 输出: [0, 2, 3, 4, 6] ``` 2. 元组(tuple): 元组是不可变的,一旦创建就不能修改。元组中的元素也可以是任意类型,但是一旦创建,元素的值就不能更改。 ```python # 创建元组 my_tuple = (1, 2, 3) # 元组不可变,尝试修改会引发错误 # my_tuple[0] = 0 # 这行代码会引发TypeError print(my_tuple) # 输出: (1, 2, 3) ``` 3. 字典(dict): 字典是一种映射类型,使用键值对存储数据,其中键是唯一的。字典是可变的,可以添加、删除和修改键值对。 ```python # 创建字典 my_dict = {'a': 1, 'b': 2, 'c': 3} # 添加键值对 my_dict['d'] = 4 # 修改键值对 my_dict['b'] = 20 # 删除键值对 del my_dict['c'] print(my_dict) # 输出: {'a': 1, 'b': 20, 'd': 4} ``` 4. 集合(set): 集合是一个无序的不重复元素集。集合是可变的,可以进行集合操作,如并集、交集和差集等。 ```python # 创建集合 my_set = {1, 2, 3} # 添加元素 my_set.add(4) # 删除元素 my_set.remove(3) print(my_set) # 输出可能为: {1, 2, 4} ``` 在使用这些数据结构时,你需要根据具体的应用场景来选择合适的数据结构。例如,如果你需要存储一系列的值并且可能会修改这些值,列表通常是最好的选择。如果你需要一个无序的集合,并且唯一关心的是元素是否存在,那么集合会是更好的选择。字典适用于当你需要通过键来快速查找值的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值