gpt4 book ai didi

python - IF ... Elif ... Else 流程

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:44 25 4
gpt4 key购买 nike

我创建了一个带有 if 流控制的函数,我想知道一些关于它的事情。

class Supplier(Process):

def weeklySupply(self):
global D1Vals
xMeet = D1Vals[0]
lead = 0
capac = 150.0
supply = 0
if stocked.amount >= 15000:
supply = 0
yield put, self, stocked, supply
S1Vals.append(0)
elif supply >= capac:
supply = capac
yield put, self, stocked, supply
S1Vals.append(capac)
else:
supply = random.triangular(.70 * xMeet , xMeet , xMeet * 1.05)
yield put, self, stocked, supply
print ('Week:'+'%6.0f:Supplied: %6.0f units. CurSupply = %6.0f' %
(now() + 1., supply, stocked.amount))
yield hold, self, lead
S1Vals.append(supply)
del D1Vals[0]

虽然我编码的是:

  • 如果库存对象中的数量 >= 15000,则该对象生成零供应或者,如果生成的供应值大于预定义的“capac”数量,则供应值 =“capac”。

  • 如果上述情况均不成立,则供应值是作为随机分布生成的。不过,当我获得输出时,电源值确实超过了“capac”值 150。

我是否误解了如何进行流程?

最佳答案

不要像您在问题中所做的那样,将 if elif 结构与某种 or 结构混淆。只有当 if 条件为 False 时,才会评估 elif 条件。我认为,您真正想要的是:

if stocked.amount >= 15000:
if supply >= capac:
supply = capac
yield put, self, stocked, supply
S1Vals.append(capac)
else:
supply = 0
yield put, self, stocked, supply
S1Vals.append(0)
else:
supply = random.triangular(.70 * xMeet , xMeet , xMeet * 1.05)
...

但这只有在 supply 没有在函数开头用 0 初始化时才有效。

关于python - IF ... Elif ... Else 流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11717527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com