使用python实现测试工具(五)

乙醇 创建于 大约 1 个月 之前

最后更新时间 2018-12-19

生成随机人名

本系列教程使用的python版本是3.6.3

背景

我们在进行测试的时候经常需要去生成一些测试数据,这就是所谓的造数据。

生成随机的用户真实姓名是非常常见的需求,这一节我们看一下如何使用python的来实现这个功能。

我们将实现随机生成英文名的功能。

英文名的生成规则是first_name last_name,也就是名在前,姓在后,中间空格分隔。

代码


import random

last = ('Appleyard', 'Bigmeat', 'Bloominshine', 'Boogerbottom',
    'Breedslovetrout', 'Butterbaugh', 'Clovenhoof', 'Clutterbuck',
    'Cocktoasten', 'Endicott', 'Fewhairs', 'Gooberdapple',
    'Goodensmith', 'Goodpasture', 'Guster', 'Henderson', 'Hooperbag',
    'Hoosenater', 'Hootkins', 'Jefferson', 'Jenkins',
    'Jingley-Schmidt', 'Johnson', 'Kingfish', 'Listenbee', "M'Bembo",
    'McFadden', 'Moonshine', 'Nettles', 'Noseworthy', 'Olivetti',
    'Outerbridge', 'Overpeck', 'Overturf', 'Oxhandler', 'Pealike',
    'Pennywhistle', 'Peterson', 'Pieplow', 'Pinkerton', 'Porkins',
    'Putney', 'Quakenbush', 'Rainwater', 'Rosenthal', 'Rubbins',
    'Sackrider', 'Snuggleshine', 'Splern', 'Stevens', 'Stroganoff',
    'Sugar-Gold', 'Swackhamer', 'Tippins', 'Turnipseed',
    'Vinaigrette', 'Walkingstick', 'Wallbanger', 'Weewax', 'Weiners',
    'Whipkey', 'Wigglesworth', 'Wimplesnatch', 'Winterkorn',
    'Woolysocks')

first = ('Baby Oil', 'Bad News', 'Big Burps', "Bill 'Beenie-Weenie'",
    "Bob 'Stinkbug'", 'Bowel Noises', 'Boxelder', "Bud 'Lite'",
    'Butterbean', 'Buttermilk', 'Buttocks', 'Chad', 'Chesterfield',
    'Chewy', 'Chigger', 'Cinnabuns', 'Cleet', 'Cornbread',
    'Crab Meat', 'Crapps', 'Dark Skies', 'Dennis Clawhammer',
    'Dicman', 'Elphonso', 'Fancypants', 'Figgs', 'Foncy', 'Gootsy',
    'Greasy Jim', 'Huckleberry', 'Huggy', 'Ignatious', 'Jimbo',
    "Joe 'Pottin Soil'", 'Johnny', 'Lemongrass', 'Lil Debil',
    'Longbranch', '"Lunch Money"', 'Mergatroid', '"Mr Peabody"',
    'Oil-Can', 'Oinks', 'Old Scratch', 'Ovaltine', 'Pennywhistle',
    'Pitchfork Ben', 'Potato Bug', 'Pushmeet', 'Rock Candy',
    'Schlomo', 'Scratchensniff', 'Scut', "Sid 'The Squirts'",
    'Skidmark', 'Slaps', 'Snakes', 'Snoobs', 'Snorki', 'Soupcan Sam',
    'Spitzitout', 'Squids', 'Stinky', 'Storyboard', 'Sweet Tea',
    'TeeTee', 'Wheezy Joe', "Winston 'Jazz Hands'", 'Worms')


def random_full_name():
    return "{} {}".format(random.choice(first), random.choice(last))

print(random_full_name())

分析

代码很简单,定义2个原组,就是小括号括起来的那个像列表的东西,分别是lastfirst

我们的生成算法就是随机从first和last里选1个first_name和last_name,然后拼成1个完整的英文名。

需要注意的1个小点

  • random.choice(seq)的用法。从seq里随机选1个元素;

源码地址

github地址

我要留言

暂无评论