random.choice根本不是随意的

时间:2017-12-22 07:59:15

标签: python django random

我一直在研究一个愚蠢的魔法物品创造者,它利用不同的列表,包括可能发生的事情,感情,coluers等等。我一直在使用random.choice从这些列表中挑选,但不知何故生成的项目根本不是随机的。

当我连续10次运行时,我会得到类似的东西:

  

羽毛会导致即将发生的灾难的可怕景象   主演它

     

当你舔一个拥有的人时会让你感到醉酒的灯   你想要的东西

     

当你舔一个拥有的人时,会让你感到醉酒的羽毛   你想要的东西

     

当你舔一个拥有的人时,一把让你感到醉酒的匕首   你想要的东西

     

羽毛会导致即将发生的灾难的可怕景象   主演它

     

当你碰到一个想着你的人时,一盏发出白光的灯

     

当你舔一个拥有的人时,会让你感到醉酒的书   你想要的东西

     

当你舔一个有屁股的人时,你会感到醉酒的拄着拐杖   你想要的东西

     

当你舔一个有屁股的人时,会让你感到醉酒的大理石   你想要的东西

     

当你舔一个拥有的人时会让你感到醉酒的针   你想要的东西

第一个变量,项似乎是随机的,但从那时起它开始重复它自己,你觉得醉,是一个10+可能性的列表的可能性和舔是从5的列表。

makesyous = ["sad", "happy", "cold", "warm", "itchy", "laugh", "cough", "sing", "tired", "dizzy", "feel drunk", "uncomfortable", "feel like the opposite gender"]
sences = ["you see", "you smell", "you hear", "you touch", "you lick"]

他们都被称为一系列链接函数(这不是lilts和函数在代码中被wridden的顺序,这只是为了说明我是如何做的)

def generate():
    string = "A " + item() + " that " + action()
    return string

def item():
    x = random.choice(items)
    return(x)

def action():
    x = random.choice(actions)
    return(x)

actions = [short(), makesyou() + " "+ when(), random.choice(dostuff)]

def makesyou():
    x = "makes you " + random.choice(makesyous)
    return(x)

def when():
    x = random.choice(whens) + " " + sence()
    return(x)

我做错了什么(我知道我的代码结构糟糕,对不起)或者random.choice是否有意图?

1 个答案:

答案 0 :(得分:0)

khelwoods观察似乎是正确的,并且通过将所有其他内容放在generate()函数中来解决问题,可能不是最佳解决方案,但似乎有效。

我现在得到像

这样的输出
  

当你闻到一个拥有同一个神的人时,一个发出绿光的硬币   当你

     

每次触碰敌人时都会发出金币的零钱包

     

当你看到一个有同样伤害的人时会造成1d2伤害的大理石   上帝,你

     

每次听到一个人在想你的时候,一盏灯发出红光

     当你舔一个比地位更高的人时,一个让你伤心的手杖   你

     

在说出命令词时变为不动的灯,你   知道命令字

     

每次舔一盏灯时,召唤一个发光的球体,持续1d2轮的灯   有你想要的东西的人

     

一个小盒子,摇动时会产生明亮的红色尘埃,这个尘埃就是   易燃

     

能让你与动物交谈的针,但它们只是   说一种你不懂的语言

     

任何触碰它的人感到寒冷的戒指

所以一旦agine,谢谢khelwood,周末项目的救星!