python数据类型经典练习题

1. 生成任意多个随机数,并升序排列

代码如下:

# _*_ coding:utf-8 _*_
import random

s = set([])
for i in range(int(raw_input())):
    s.add(random.randint(1, 1000))
print sorted(s)

结果如下:

2. 统计重复单词的次数:

此处认为单词之间以空格为分隔符,并且不包含,和.

1. 用户输入一个英文句子

2. 打印出每个单词及其重复的次数

例如:

输入:hello java hello python

输出:hello 2

            java 1

            python 1

代码如下:

# _*_ coding:utf-8 _*_
words_dict = {}
sentence = raw_input()
words_list = sentence.split(' ')
# print words_list

for num in words_list:
    count = words_list.count(num)
    words_dict[num] = count

managed_list = sorted(words_dict.items())
# print managed_list

for i in range(len(managed_list)):
    print managed_list[i][0], managed_list[i][1]

结果如下:

3. 数字重复统计

1. 随机生成1000个整数

2. 数字的范围[20,100]

3. 升序输出所有的不同的数字及其每个数字重复的次数

代码如下:

# _*_ coding:utf-8 _*_
import random

check_list = [random.randint(20, 100) for i in range(1000)]
result_dict = {}

for num in check_list:
    count = check_list.count(num)
    result_dict[num] = count

processed_list = sorted(result_dict.items())
print '升序输出的结果如下:'
for i in range(len(result_dict)):
    print processed_list[i][0],

print ''
for i in range(len(result_dict)):
    print processed_list[i][0], '重复的次数:', processed_list[i][1]

结果如下(部分结果截图):

4. 列表的练习

代码如下:

# _*_ coding:utf-8 _*_
names = ['fentiao', 'fendai', 'fensi', 'apple']
print 'I have %s, %s, %s and %s' % (names[0], names[1], names[2], names[-1])
print 'I have ' + ', '.join(names[:-1]) + ' and ' + names[-1]

结果如下(两个print得到的结果是一样的,但是第一个有明显的缺陷,如果列表元素过多,

每一个都要写出来太麻烦,第二个方法是对列表操作的理解,明显简单,且可以操作任意元素的列表。):

5. 列表的练习—实现一个简单的用户管理系统

代码如下:

# _*_ coding:utf-8 _*_
users = ['root', 'westos']
passwds = ['123', '456']
for i in range(3):
    name = raw_input('请输入用户名:')
    passwd = raw_input('请输入用户密码:')
    if name in users:
        count = users.index(name)
        if passwd == passwds[count]:
            print '登陆成功'
            break
        else:
            print '密码错误登陆失败,还有%d次机会,请重新登陆' % (2 - i)
    else:
        print '用户名不存在,还有%d次机会,请重新登陆' % (2 - i)
else:
    print '三次登陆机会用完'

结果如下:

6.列表练习—用户管理系统2.0

  • 后台管理员只有一个 用户:admin 密码:admin
  • 当管理员登陆成功后,才可以管理信息
  • 管理用户信息包含:

           添加用户信息

           删除用户信息

           查看用户信息

           退出

代码如下:

# 系统中以存用户信息
users = ['root', 'westos']
passwds = ['123', '456']

print '管理员登陆:'.center(50, '*')
user = raw_input('用户名:')
passwd = raw_input('密码:')
if user == 'admin' and passwd == 'admin':
    print '管理员登陆成功'
    print '管理信息'.center(50, '*')
    while True:
        print """
            1 -添加用户信息
            2 -删除用户信息
            3 -查看用户信息
            4 -退出
            """
        choice = raw_input('请输入要进行的操作:')
        if choice == '1':
            adduser = raw_input('请输入要添加的用户名:')
            if adduser in users:
                print '用户已经存在'
            else:
                passwd = raw_input('请输入用户密码:')
                users.append(adduser)
                passwds.append(passwd)
                print '用户%s添加成功' % adduser
        elif choice == '2':
            deluser = raw_input('请输入要删除的用户名:')
            if deluser in users:
                tmp = users.index(deluser)
                users.remove(deluser)
                passwds.pop(tmp)
                print '用户%s已经删除' % deluser
            else:
                print '用户不存在'
        elif choice == '3':
            print '用户信息如下:'
            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 '请输入正确的选择:'
else:
    print '管理员登陆失败'

结果如下:

猜你喜欢

转载自blog.csdn.net/oikinkl/article/details/82355817