Python 对随机结果数应用乘数

Python 对随机结果数应用乘数,python,Python,我是新手 长话短说,我已经做了一个var,它将输出一个70到155之间的随机数: T_dmg = random.randrange(70,155) 这是我的“乘数”: Crit代表critical,但我不知道如何使用“return”语句。因此,在数字相加之前,我将此函数添加到行中: if Toni > 0: crit(T_dmg) Xoni = Xoni - T_dmg 问题是输出永远不会成倍增加,因为不知何故,“crit”函数似乎不适用于它。 Xoni

我是新手

长话短说,我已经做了一个var,它将输出一个70到155之间的随机数:

T_dmg = random.randrange(70,155)
这是我的“乘数”:

Crit代表critical,但我不知道如何使用“return”语句。因此,在数字相加之前,我将此函数添加到行中:

if Toni > 0:
        crit(T_dmg)
        Xoni = Xoni - T_dmg
问题是输出永远不会成倍增加,因为不知何故,“crit”函数似乎不适用于它。 Xoni是一个var,其值为7000。如果这不合理,我使用的是游戏概念中的HP。我希望你们中的任何人都能给我们一些启示

谢谢

编辑:机会代码:

def critchance():
    random.randrange(1,10)
    if critchance() == "3"
    crit()

函数返回一个值-它不会更改输入变量。您仍然需要将
T\u dmg
分配给函数的输出

T_dmg = crit(T_dmg)
def critchance(cr):
    if random.randrange(1, 10) == 3:
        return crit(cr)
    return cr
否则,
T\u dmg
将保持不变,给您带来“奇怪”的结果

您的
critchance
函数也处于关闭状态-它是无限递归的。我们需要解决这个问题。此外,您似乎正在调用没有参数的
crit
函数。您可能应该将
T\u dmg
作为参数传递给此函数

T_dmg = crit(T_dmg)
def critchance(cr):
    if random.randrange(1, 10) == 3:
        return crit(cr)
    return cr
那就这么叫吧

T_dmg = critchance(T_dmg)

我不知道,我只是想我应该填上括号…也许
T\u dmg=crit(T\u dmg)
?我明白了,但我忘了告诉你,我计划为此增加一个“机会”。有10%的几率它会乘以2x。我已经定义了“机会”函数,但首先我似乎无法修复乘数。@user2113324您能在原始问题中解释一下吗?“chance”函数的代码是什么?def critchance():random.randrange(1,10)如果critchance()=“3”crit()@user2113324编辑您的原始问题-注释不适合编写长代码。我现在正在查看它,但有很多事情我还不明白。我想在我更好地学习define语句之后,我会把这个页面添加到书签中。谢谢你的帮助!