![]() |
|
Unit 18 Procedural Programming Python - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: Unit 18 Procedural Programming Python (/thread-7006.html) |
Unit 18 Procedural Programming Python - kanwal121 - Dec-17-2017 def newBalance(newBalance,addvertCost,productPurchased): #this is to pass the calculations throgh the parameter answer = newBalance-addvertCost-productPurchased #this is to output the new balnace after deducting the advertising cost and the product purchased cost from the new balnace print (answer) return answer Traceback (most recent call last): File "F:\Level 4\Kevin\nadia.py", line 80, in <module> NewBalance = newBalance(newBalance,addvertCost,productPurchased) File "F:\Level 4\Kevin\nadia.py", line 16, in newBalance answer = newBalance-addvertCost-productPurchased #this is to output the new balnace after deducting the advertising cost and the product purchased cost from the new balnace TypeError: unsupported operand type(s) for -: 'function' and 'tuple' >>> RE: Unit 18 Procedural Programming Python - Terafy - Dec-17-2017 You defined the function: def newbalances(initialbalance, productname, advertisingcost):
...But you didn't called the function.Example of calling a function: someVariableName = newbalances(inputParameter0,inputParameter1,inputParameter3)unfortunately we don't know your input parameters. RE: Unit 18 Procedural Programming Python - kanwal121 - Dec-17-2017 import random #this is to import the random number for calculations
initialBalance = 1000 #this is the initial balance £1000
wholeSalePrice = 10 #this is the wholesale price
shopSalePrice = 40 #shops sells the product for £40
addvertCost = 1,20 #advertising cost is between the range of £1-£20
days = 0
#procedures
def costs (wholeSalePrice,productPurchased):
calculations = wholeSalePrice*productPurchased #this is to calculte the wholeslae price by the product purchased price
print (calculations)
return calculations
def newBalance(newBalance,addvertCost,productPurchased): #this is to pass the calculations throgh the parameter
answer = newBalance-addvertCost-productPurchased #this is to output the new balnace after deducting the advertising cost and the product purchased cost from the new balnace
print (answer)
return answer
def calculateSalesFigures(salesFigures): #this is to generate a number to calculate sales on a daily basis
sales = random.randit(1,50)
print (sales)
return sales
def expenses(everyDayExpenses): #this is to calculate the daily expenses
dailyExpenses = WholeSalePrice*stock
print (dailyExpenses)
return dailyExpenses
def balanceUpdate():
updatedBalances = (newBalance + salesFigure - dailyexpenses)#this is the remaining balance after the daily expenses
print ("newbalance is £:" + str(updatedBalances))
print (updatedBalance)
return updatedBalance
#input
itemPurchased = int(input("please enter the value for itempurchased £")) #this inforamtion will be displayed for the user to insert the amount
advertisingCost = int(input("please enter a value for addvertcost £")) #this inforamtion will be displayed for the user to insert the amount
productPurchased = int (input ("please enter the amount of products you wish to purchase for stock £")) #this inforamtion will be displayed for the user to insert the amount
print ("")
#process
while days>0:
days = days + 1
print ("days" + str (days)) #this is the while statement for the loop
randomNumber = random.randint(1,50)
salesFigure = (randomNumber*advertisingCost)
print ("salesFigures is £:" +str(salesFigure)) #this block of code is to work out the sales figure by random number*advertising cost
updatedBalances = (newBalance + salesFigure - dailyexpenses) #this is to display the newbalnce on the users screen
print ("newbalance is £:" + str(updatedBalances))
print ("")
sold = salesFigure // priceOfProduct - shopPrice
if (sold > shopPrice):
lackOfStock = sold - stock
costProfit = lackOfStock*priceOfProduct #this is a block of code for If statement showing working out for handling products sold and in stock
sales = sales - costProfit
#output
if newBalance >=0:
print ("stock is fine ")
else:
print("we need more stock") #this IF statement is to decide if the stock is okay or more stock is needed
costs (wholeSalePrice,productPurchased) #these are thevariables set for procedures
NewBalance = newBalance(newBalance,addvertCost,productPurchased)
SalesFigure = calculateSalesFigures()
Expenses = expenses()
BalanceUpdate = balanceUpdate()I have added the = sign to call the function but now have another issue. I will post it in the forum. thank you import random #this is to import the random number for calculations
initialBalance = 1000 #this is the initial balance £1000
wholeSalePrice = 10 #this is the wholesale price
shopSalePrice = 40 #shops sells the product for £40
addvertCost = 1,20 #advertising cost is between the range of £1-£20
days = 0
#procedures
def costs (wholeSalePrice,productPurchased):
calculations = wholeSalePrice*productPurchased #this is to calculte the wholeslae price by the product purchased price
print (calculations)
return calculations
def newBalance(newBalance,addvertCost,productPurchased): #this is to pass the calculations throgh the parameter
answer = newBalance-addvertCost-productPurchased #this is to output the new balnace after deducting the advertising cost and the product purchased cost from the new balnace
print (answer)
return answer
def calculateSalesFigures(salesFigures): #this is to generate a number to calculate sales on a daily basis
sales = random.randit(1,50)
print (sales)
return sales
def expenses(everyDayExpenses): #this is to calculate the daily expenses
dailyExpenses = WholeSalePrice*stock
print (dailyExpenses)
return dailyExpenses
def balanceUpdate():
updatedBalances = (newBalance + salesFigure - dailyexpenses)#this is the remaining balance after the daily expenses
print ("newbalance is £:" + str(updatedBalances))
print (updatedBalance)
return updatedBalance
#input
itemPurchased = int(input("please enter the value for itempurchased £")) #this inforamtion will be displayed for the user to insert the amount
advertisingCost = int(input("please enter a value for addvertcost £")) #this inforamtion will be displayed for the user to insert the amount
productPurchased = int (input ("please enter the amount of products you wish to purchase for stock £")) #this inforamtion will be displayed for the user to insert the amount
print ("")
#process
while days>0:
days = days + 1
print ("days" + str (days)) #this is the while statement for the loop
randomNumber = random.randint(1,50)
salesFigure = (randomNumber*advertisingCost)
print ("salesFigures is £:" +str(salesFigure)) #this block of code is to work out the sales figure by random number*advertising cost
updatedBalances = (newBalance + salesFigure - dailyexpenses) #this is to display the newbalnce on the users screen
print ("newbalance is £:" + str(updatedBalances))
print ("")
sold = salesFigure // priceOfProduct - shopPrice
if (sold > shopPrice):
lackOfStock = sold - stock
costProfit = lackOfStock*priceOfProduct #this is a block of code for If statement showing working out for handling products sold and in stock
sales = sales - costProfit
#output
if newBalance >=0:
print ("stock is fine ")
else:
print("we need more stock") #this IF statement is to decide if the stock is okay or more stock is needed
costs = (wholeSalePrice,productPurchased) #these are thevariables set for procedures
NewestBalance = newBalance(newBalance,addvertCost,productPurchased)
SalesFigure = calculateSalesFigures()
Expenses = expenses()
BalanceUpdate = balanceUpdate()
RE: Unit 18 Procedural Programming Python - j.crater - Dec-17-2017 @kanwal121 Please post your code in Python code tags and error message in error tags. See help here. Edit: Thanks! RE: Unit 18 Procedural Programming Python - Terafy - Dec-17-2017 You need a naming convention... you used newBalance as a function name and a variable... that's a no-no while days>0:
days = days + 1that loop will never end. Because days will always be >0updatedBalances = (newBalance + salesFigure - dailyexpenses) #this is to display the newbalnce on the users screenthere's no variable called newBalance or dailyexpenses from line 39 to 58. That why you have that error. sold = salesFigure // priceOfProduct - shopPrice
if (sold > shopPrice):
lackOfStock = sold - stock
costProfit = lackOfStock*priceOfProduct #this is a block of code for If statement showing working out for handling products sold and in stock
sales = sales - costProfitbunch of missing variables.Anyways what j.crater was telling you before. The variable you define in your function are local variables. You can't grab the local variable and use in the main code or other function. You would need to create the variables again. RE: Unit 18 Procedural Programming Python - kanwal121 - Dec-17-2017 that loop will never end. Because days will always be >0 you have replied to the loop message. What calculations will end the loop please? RE: Unit 18 Procedural Programming Python - Terafy - Dec-17-2017 I just read your code (I didn't run your code) and pointed what is potentially wrong with it. It you can give the missing information your code would work. |