【问题标题】:How do you randomly generate x amount of values and store them?您如何随机生成 x 个值并存储它们?
【发布时间】:2010-03-06 16:43:44
【问题描述】:

我在 Stack Overflow 主题上找到了一个关于初学者学习新语言应该解决的问题的建议。一位用户发布了一个非常好的问题列表,从初学者到高级,应该可以帮助您了解一门语言。问题之一是创建电话簿,电话簿上有随机电话号码和随机人员,用户应该能够搜索电话号码并找到此人,反之亦然。

那么如何在没有数据库的情况下随机生成 x 个值并存储它们,特别关注 Python 和 Ruby。

【问题讨论】:

  • 这里的“存储”是什么意思?在内存中,在磁盘上...?
  • 您的问题含糊不清。您需要帮助制作随机电话号码和合理名称吗?您需要有关存储此类信息的结构的帮助吗?该练习是明确要求一定数量的名称,强制解决 DBMS 后端,还是故意限制一些类似哈希的结构?
  • 通过存储它们,我的意思是记住这些值...我不确定您是否会将它们存储在数组或列表中,或者完全不同的东西中。

标签: python ruby random


【解决方案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]

【讨论】:

    【解决方案2】:

    使用 Python,您可以使用 random 模块生成随机数。对于存储电话号码、姓名、联系人等,您可以使用数据库,例如SQLite

    【讨论】:

      猜你喜欢
      • 2013-05-30
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 2017-04-17
      • 2012-03-19
      相关资源
      最近更新 更多