如何随机生成x个值并存储?
我在Stack Overflow上看到一个建议,关于初学者应该做哪些练习来学习一门新语言。有用户分享了一份很棒的问题列表,从初级到高级,帮助你熟悉这门语言。其中一个问题是创建一个电话簿,里面有随机的电话号码和随机的人名,用户可以根据电话号码找到对应的人,反之亦然。
那么,如何在不使用数据库的情况下,随机生成一定数量的值并存储它们,特别是针对Python和Ruby这两种语言呢?
2 个回答
1
在你解决这个问题之前,需要先定义一些额外的参数。
- 每个人的电话号码是唯一的吗?
- 你打算怎么存储名字?是把名字和姓氏放在不同的字符串里,还是放在一个字符串里?
- 你想支持模糊匹配吗?
- 你想提供反向查找功能吗?(也就是说,根据电话号码查找一个人?)
在Python中,你可以用集合、列表和字典来实现这些功能,不过你也可以看看sqlite3这个模块。
如果你想在Python中生成一个随机的字母字符串,可以这样做:
import random
import string
minLength = 5 # the minimum length of the string.
maxLength = 15 # the maximum length of the string
randstring = string.join([random.choice(string.lowercase)
for i in range(random.randrange(minlength,maxlength+1))], '')
如果想生成随机数字,只需把random.lowercase替换成[1,2,3,4,5,6,7,8,9,0]就可以了。