Python 对随机结果数应用乘数
我是新手 长话短说,我已经做了一个var,它将输出一个70到155之间的随机数: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
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语句之后,我会把这个页面添加到书签中。谢谢你的帮助!