2010-03-06 61 views
-1

我在Stack Overflow主題上發現了一個關於初學者應該學習新語言的問題的建議。一位用戶發佈了一個非常好的從初學者到高級的問題列表,可以幫助您瞭解一門語言。其中一個問題是創建電話簿,在電話簿中隨機撥打電話號碼和隨機人員,用戶應該能夠搜索電話號碼並找到該人,反之亦然。你如何隨機生成x個值並存儲它們?

那麼,如何隨機生成x數量的值並存儲它們,而不需要數據庫,專門關注Python和Ruby。

+0

這裏「存儲它們」是什麼意思?在內存中,在磁盤上...? – 2010-03-06 16:49:26

+0

你的問題含糊不清。你需要幫助製作隨機的電話號碼和合理的名字嗎?你需要幫助存儲這些信息的結構嗎?練習是否明確要求一定數量的名稱,強制將解決方案強制給DBMS後端,還是有意限制,以便幾個類似哈希的結構可以做到? – mjv 2010-03-06 16:58:52

+0

通過存儲它們,我的意思是記住這些值......我不確定是否將它們存儲在數組或列表中,或者完全不同的東西。 – 2010-03-06 17:32:15

回答

1

您需要定義一些更多的參數,然後才能解決此問題。

  • 電話號碼是否對每個人都是唯一的?
  • 你將如何存儲名稱?在不同的字符串中的名字和姓氏?所有在一個字符串?
  • 你想支持模糊匹配嗎?
  • 你想提供反向查找功能嗎? (I.E.根據電話號碼查找某人?)

在Python中,您可以使用sets,lists和/或dicts完成所有這些工作,但您也可以查看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]

0

使用Python,您可以使用random模塊來生成隨機數。爲了存儲電話號碼,姓名,聯繫人等,您可以使用數據庫,例如SQLite