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 >0 updatedBalances = (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. |