【问题标题】:How to write a random choice function in JES如何在 JES 中编写随机选择函数
【发布时间】:2015-04-02 00:36:34
【问题描述】:

如何在 JES 中编写一个(短)函数来从存储在特定文件中的所有引用中选择并返回一个随机引用。

 def readSaying():
    import random
    file=open('C:/computer course/assignment 5/assignment5sayings.txt',"rt")
    contents=file.read()
    file.close()
    random.seed()  
    print random.choice(contents)    

更新 所以看起来通过添加 random.seed() 它正在读取我的文件,但它只是选择 1 个字母 - 我如何让它选择一个完整的报价 例如选择以下引号之一:

  1. “任何足够高级的错误都无法与功能区分开来”- Kulawiec
  2. “到 2020 年,将有一个全新的行业建立在纪念 2000 年的基础上” - Alvin Toffler
  3. “你可以带领一个男孩上大学,但你不能让他思考”——埃尔伯特·哈伯德
  4. “许多人宁愿死也不愿思考;事实上,大多数人都愿意”——伯特兰·罗素

【问题讨论】:

  • def readSaying(): import random s=open('C:/computer course/assignment 5/assignment5sayings.txt') file.read(sayings) s=sayings print random.choice(s)
  • 习惯上保持原始问题不变,否则如果您编辑问题,那么有效的答案就会变得过时。您通常会在问题底部添加一个 UPDATE 部分,以便查看历史记录。

标签: jython jes


【解决方案1】:

您可能需要播种随机数生成器。将random.seed() 放在您的random.choice(contents) 之前

9.4. random — Generate pseudo-random numbers

random.seed([x])

初始化基本随机数生成器。可选参数 x 可以是任何可散列对象。如果省略 x 或 None,则使用当前系统时间;当前系统时间也用于在第一次导入模块时初始化生成器。如果操作系统提供随机源,则使用它们而不是系统时间(有关可用性的详细信息,请参见 os.urandom() 函数)。

在 2.4 版中更改:以前不使用操作系统资源。

如果 x 不是 None 或 int 或 long,则使用 hash(x) 代替。如果 x 是 int 或 long,则直接使用 x。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    • 2016-05-02
    • 2020-07-24
    • 1970-01-01
    相关资源
    最近更新 更多