我要说实话:我真的不知道我在做什么。VicBot骰子滚轮(Python 2.7)
我想使它成为VicBot(用于Python 2.7)可以在命令“/ roll xdy”上“滚动”“骰子”,其中x是死亡数量,y是这些死亡数量的边数。
所以,更直接,我需要能够请求变量x≥y,并让他们显示“(可变)+(可变)=(总)”
所有VicBot的可以在这里找到:https://github.com/Vicyorus/VicBot
(如果你想知道:我不小心上传了这个问题,我结束之前)
我要说实话:我真的不知道我在做什么。VicBot骰子滚轮(Python 2.7)
我想使它成为VicBot(用于Python 2.7)可以在命令“/ roll xdy”上“滚动”“骰子”,其中x是死亡数量,y是这些死亡数量的边数。
所以,更直接,我需要能够请求变量x≥y,并让他们显示“(可变)+(可变)=(总)”
所有VicBot的可以在这里找到:https://github.com/Vicyorus/VicBot
(如果你想知道:我不小心上传了这个问题,我结束之前)
我不知道很多关于你的聊天机器人,也不是我真的想通过所有的代码来挖你”已经包含在你的问题中了(对于我来说,如果它是你写的代码,而不是附带的示例代码BOT)。
我能做的是解决模具滚动的问题。这很容易。所有你需要的是Python的random
模块和一些字符串操作和格式化代码。
import random
def roll_dice(dice_string):
"""Parse a string like "3d6" and return a string showing the die rolls and their sum"""
number_of_dice, number_of_sides = map(int, dice_string.split("d"))
rolls = [random.randint(1, number_of_sides) for _ in range(number_of_dice)]
output_string = "{} = {}".format(" + ".join(map(str(rolls)), sum(rolls))
return output_string
输出示例:
>>> roll_dice("5d6")
'6 + 6 + 5 + 5 + 6 = 28'
>>> roll_dice("5d6")
'1 + 5 + 1 + 2 + 2 = 11'
>>> roll_dice("3d100")
'16 + 83 + 56 = 155'
>>> roll_dice("1d20")
'18 = 18'
希望的码是相当自我解释。函数中的四个语句每个都会做一件事:解析输入,生成请求的随机数,将它们格式化为字符串以输出,最后返回字符串。第二行代表实际的随机数生成,可能会将其作为一个单独的函数提取出来(使用整型参数并返回一个整数列表)。
我刚刚进行了编辑以改善代码格式,但是我并没有真正理解你的第三段,所以它的格式仍然有点奇怪。也许你可以澄清你的意思是“x变量≥y”(例如用一个具体的例子)? – Blckknght
By x我指的是“骰子”的数量,而我指的是那个“骰子”上的边数,它与您可能收到的最高数相关。所以“2d6”或“2个小于或等于6的变量”。假设我选择的数字是3和6,我的意思是“(变量1)+(变量2)=(总和)”将是“3 + 6 = 9”。我还会试图澄清那个段落a位在我的文章。 – Viper
如果你在控制台程序中这样做,你会知道如何处理问题的随机数部分?也就是说,你是否对这个问题的聊天机器人部分感到困惑,或者更多关于计算'3d6'的结果?我从来没有听说过'VicBot',并且没有兴趣阅读大量的代码来了解它,但是我可以把关于随机数的东西放在一起,如果那是你实际询问的。 – Blckknght