Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 随机选择给出了同样的答案_Python_Bots - Fatal编程技术网

Python 随机选择给出了同样的答案

Python 随机选择给出了同样的答案,python,bots,Python,Bots,我是新来的,想用random.choice制作一个reddit机器人,但是如果我在同一条评论中写两次同样的短语,它会给出同样的答案 phrase = 'summon_bot' import random char1 = ["character1", "character2", "character3"] if phrase in comment.body reply = comment.body.replace(phrase,str(random.choice(char1)

我是新来的,想用random.choice制作一个reddit机器人,但是如果我在同一条评论中写两次同样的短语,它会给出同样的答案

phrase = 'summon_bot'

import random
  char1 = ["character1", "character2", "character3"]

  if phrase in comment.body
     reply = comment.body.replace(phrase,str(random.choice(char1)))

例如,当一条评论是:召唤机器人和召唤机器人是最好的字符时,它对这两个短语给出了相同的答案。

查看replace的文档,它会替换它找到的所有事件,而不仅仅是第一个。

我想,这就是你想要做的

import random

phrase = "summon_bot"
char1 = ["character1", "character2", "character3"]

reply = comment.body
while phrase in reply:
    reply = reply.replace(phrase, str(random.choice(char1)), 1)
将代码读为:

短语=‘召唤机器人’ 随机输入 char1=[字符1,字符2,字符3] 如果comment.body中的短语: random_choice=random.choicechar1 随机选择现在是一个存储变量。修正,每次使用时都是一样的 reply=comment.body.replacephase,strrandom\u choice将所有出现的短语替换为固定的随机选项 您需要一种方法来为每个事件计算random.choicechar1。 例如:


它只是用随机选择的char1项替换出现的两个短语。您确定它不会引发缩进错误吗?或者缺少冒号的语法错误?被否决并标记为非答案。这应该是一个评论。
reply = comment.body
while phrase in reply:
     random_choice = random.choice(char1)
     reply.replace(phrase, random_choice, 1) #extra argument to only replace first occurence