猫哥教你写爬虫 017--函数-小作业

制作一个随机点名器

学生姓名如下

'刘少康', '左月', '侯志杰', '王枫元', '张居正', '王涛', '曹亚南', '刘伟', '杨成龙', '邓凯凯', '吴成浩', '彭博', '段妮', '白泉林', '喻禄', '刘嘉伟', '郑明利', '陈朋来', '岳佳蕊', '李杰', '杨栓', '张承恩', '李国庆', '王嵩', '张彩芸', '张瑶', '张虎跃', '宋晨光', '朱颜恩', '杨欢欢', '韦丹丹', '康涛涛', '高广宇', '吴纪昌', '王宇行', '庞忠良', '郭天', '陈云', '金宝顺', '尚尚', '曹新宇', '祁书', '秦磊'
复制代码

效果...

重点在于拆分...

{
	'侯': {
		'志': ['杰']
	},
	'刘': {
		'※': ['伟'],
		'嘉': ['伟'],
		'少': ['康']
	},
	'吴': {
		'成': ['浩'],
		'纪': ['昌']
	},
	'喻': {
		'※': ['禄']
	},
	'宋': {
		'晨': ['光']
	},
	'尚': {
		'※': ['尚']
	},
	'岳': {
		'佳': ['蕊']
	},
	'左': {
		'※': ['月']
	},
	'庞': {
		'忠': ['良']
	},
	'康': {
		'涛': ['涛']
	},
	'张': {
		'※': ['瑶'],
		'居': ['正'],
		'彩': ['芸'],
		'承': ['恩'],
		'虎': ['跃']
	},
	'彭': {
		'※': ['博']
	},
	'曹': {
		'亚': ['南'],
		'新': ['宇']
	},
	'朱': {
		'颜': ['恩']
	},
	'李': {
		'※': ['杰'],
		'国': ['庆']
	},
	'杨': {
		'※': ['栓'],
		'成': ['龙'],
		'欢': ['欢']
	},
	'段': {
		'※': ['妮']
	},
	'王': {
		'※': ['涛', '嵩'],
		'宇': ['行'],
		'枫': ['元']
	},
	'白': {
		'泉': ['林']
	},
	'祁': {
		'※': ['书']
	},
	'秦': {
		'※': ['磊']
	},
	'邓': {
		'凯': ['凯']
	},
	'郑': {
		'明': ['利']
	},
	'郭': {
		'※': ['天']
	},
	'金': {
		'宝': ['顺']
	},
	'陈': {
		'※': ['云'],
		'朋': ['来']
	},
	'韦': {
		'丹': ['丹']
	},
	'高': {
		'广': ['宇']
	}
}
复制代码

代码答案

import random,time,pprint
students = ['刘少康',
            '左月',
            '侯志杰',
            '王枫元',
            '张居正',
            '王涛',
            '曹亚南',
            '刘伟',
            '杨成龙',
            '邓凯凯',
            '吴成浩',
            '彭博',
            '段妮',
            '白泉林',
            '喻禄',
            '刘嘉伟',
            '郑明利',
            '陈朋来',
            '岳佳蕊',
            '李杰',
            '杨栓',
            '张承恩',
            '李国庆',
            '王嵩',
            '张彩芸',
            '张瑶',
            '张虎跃',
            '宋晨光',
            '朱颜恩',
            '杨欢欢',
            '韦丹丹',
            '康涛涛',
            '高广宇',
            '吴纪昌',
            '王宇行',
            '庞忠良',
            '郭天',
            '陈云',
            '金宝顺',
            '尚尚',
            '曹新宇',
            '祁书',
            '秦磊']
            
def name_to_three():
    stu_list = []
    for i in students:
        if len(i) == 2:
            tmp_list = list(i)
            tmp_list.insert(1,'※')
            i = ''.join(tmp_list)
        stu_list.append(i)
    return stu_list
# pprint.pprint(name_to_three())
def make_first():
    first_list = []
    stu_dict = {}
    for i in name_to_three():
        first_list.append(i[0])
        one_set = set(first_list)
    for i in one_set:
        stu_dict[i] = {}
    return stu_dict
# pprint.pprint(make_first())
def make_second():
    stu_dict = make_first()
    for i in stu_dict:
        for j in name_to_three():
            if i == j[0]:
                stu_dict[i][j[1]] = []
    return stu_dict
# pprint.pprint(make_second())
def make_third():
    stu_dict = make_second()
    for i in stu_dict:
        for j in stu_dict[i]:
            for k in name_to_three():
                if i+j == k[:2]:
                    stu_dict[i][j].append(k[2]) 
    return stu_dict
# pprint.pprint(make_third())
def stu_split():
    return make_third()
def print_point():
    for i in range(6):
        print('.',end='')
        time.sleep(0.3)
    print('')
# print_point()
def find_lucky_dog():
    print('开始抽取幸运观众')
    print_point()
    stu_dict = stu_split()
    one = random.choice(list(stu_dict))
    two = random.choice(list(stu_dict[one]))
    three = random.choice(stu_dict[one][two])
    print('第一个字: '+one)
    print_point()
    print('第二个字: '+two)
    print_point()
    print('第三个字: '+three)
    print('')
    if two == '※':
        two = ''
    time.sleep(0.5)
    print('最终的幸运观众: {}{}{}!!!'.format(one,two,three))
    time.sleep(0.5)
    print('')
def start():
    while True:
        find_lucky_dog()
        if input('是否继续? (输入"y"继续, 否则退出...) ') != "y":
            break
        else:
            print('')
            
start()
复制代码

快速跳转:

猫哥教你写爬虫 000--开篇.md
猫哥教你写爬虫 001--print()函数和变量.md
猫哥教你写爬虫 002--作业-打印皮卡丘.md
猫哥教你写爬虫 003--数据类型转换.md
猫哥教你写爬虫 004--数据类型转换-小练习.md
猫哥教你写爬虫 005--数据类型转换-小作业.md
猫哥教你写爬虫 006--条件判断和条件嵌套.md
猫哥教你写爬虫 007--条件判断和条件嵌套-小作业.md
猫哥教你写爬虫 008--input()函数.md
猫哥教你写爬虫 009--input()函数-人工智能小爱同学.md
猫哥教你写爬虫 010--列表,字典,循环.md
猫哥教你写爬虫 011--列表,字典,循环-小作业.md
猫哥教你写爬虫 012--布尔值和四种语句.md
猫哥教你写爬虫 013--布尔值和四种语句-小作业.md
猫哥教你写爬虫 014--pk小游戏.md
猫哥教你写爬虫 015--pk小游戏(全新改版).md
猫哥教你写爬虫 016--函数.md
猫哥教你写爬虫 017--函数-小作业.md
猫哥教你写爬虫 018--debug.md
猫哥教你写爬虫 019--debug-作业.md
猫哥教你写爬虫 020--类与对象(上).md
猫哥教你写爬虫 021--类与对象(上)-作业.md
猫哥教你写爬虫 022--类与对象(下).md
猫哥教你写爬虫 023--类与对象(下)-作业.md
猫哥教你写爬虫 024--编码&&解码.md
猫哥教你写爬虫 025--编码&&解码-小作业.md
猫哥教你写爬虫 026--模块.md
猫哥教你写爬虫 027--模块介绍.md
猫哥教你写爬虫 028--模块介绍-小作业-广告牌.md
猫哥教你写爬虫 029--爬虫初探-requests.md
猫哥教你写爬虫 030--爬虫初探-requests-作业.md
猫哥教你写爬虫 031--爬虫基础-html.md
猫哥教你写爬虫 032--爬虫初体验-BeautifulSoup.md
猫哥教你写爬虫 033--爬虫初体验-BeautifulSoup-作业.md
猫哥教你写爬虫 034--爬虫-BeautifulSoup实践.md
猫哥教你写爬虫 035--爬虫-BeautifulSoup实践-作业-电影top250.md
猫哥教你写爬虫 036--爬虫-BeautifulSoup实践-作业-电影top250-作业解析.md
猫哥教你写爬虫 037--爬虫-宝宝要听歌.md
猫哥教你写爬虫 038--带参数请求.md
猫哥教你写爬虫 039--存储数据.md
猫哥教你写爬虫 040--存储数据-作业.md
猫哥教你写爬虫 041--模拟登录-cookie.md
猫哥教你写爬虫 042--session的用法.md
猫哥教你写爬虫 043--模拟浏览器.md
猫哥教你写爬虫 044--模拟浏览器-作业.md
猫哥教你写爬虫 045--协程.md
猫哥教你写爬虫 046--协程-实践-吃什么不会胖.md
猫哥教你写爬虫 047--scrapy框架.md
猫哥教你写爬虫 048--爬虫和反爬虫.md
猫哥教你写爬虫 049--完结撒花.md

转载于:https://juejin.im/post/5cfc4ad76fb9a07ee27b081d

猜你喜欢

转载自blog.csdn.net/weixin_34112208/article/details/91440796
今日推荐