У меня есть этот код ниже. Когда/Если программа поступает в оператор if
: if stocklevel < 1:
, мне нужно перейти прямо к функции repeat
.Как пропустить функции?
def checkstocklevel(code):
with open('stockcontrol.csv',newline='') as f:
for line in f:
if code in line:
data = line.split(",")
stocklevel = int(data[1])
if stocklevel < 1:
print("Sorry, this product is out of stock")
f = open("receipts","a")
f.write(code)
f.write(" Product Out Of Stock\n")
f.close()
repeat(username)
elif stocklevel <= 5:
print("New Order Required - Remaining Stock:",data[1],)
elif stocklevel <= 10:
print("Low Stock - Remaining Stock:",data[1],)
else:
print("Normal Stock -",data[1],)
return stocklevel
Если добавить repeat(username)
к нижней части коды выше, я прихожу к функции repeat
, но в конечном итоге обратно на quantityFunction
(стадия после вышеописанной функции)
Это основной код посылая мне места;
while repeatchoice == True:
code = getproductcode()
product = checkfile(code)
stocklevel = checkstocklevel(code)
quantity = quantityFunction(product)
checkquantity = isquantityokay(quantity, stocklevel)
quantity = int(quantity)
update = updatestocklevel(quantity, stocklevel, code)
cost = price(product)
productcost = calculateproductcost(cost, quantity)
rline = receiptline(product, quantity, productcost)
addtoreceipt = append(rline)
addtototal = appendprice(productcost)
repeatchoice = repeat(username)
Есть ли способ, я могу пропустить все от quantityFunction
к addtototal
, когда я достигаю if
заявление?
К какой функции относится первый код и какое возвращаемое значение оно дает вашему основному циклу? Очень неясный атм. – Torxed
Я не уверен, в чем проблема ... Не можете ли вы просто поставить оператор 'if' в цикле' while' и проверить на уровне запасов> 1? – 3kt
Я бы сказал, что либо сделайте 'repeatChice' глобальным, либо обновите его в своих функциях или лучше обработайте возвращаемые значения, так как на данный момент только одна функция влияет на основной цикл. – Torxed