Python Forum
Need help with a function that calls other functions.
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Need help with a function that calls other functions.
#1
Im pretty new at programming, but atm im trying to make a function that takes two user inputs and use the input on previously made functions.
I only need help with the last part (part 4).

(BTW some of the words are in norwegian so here are some translated word to make it easier to understand if you need it): addisjon - addition, tall - number, subtraksjon - subtraction, divisjon - division, retur - return, verdi - value, tommer - inches, beregninger - calculations, Skriv inn - write.

THANK YOU IN ADVICE!
""" 1"""

def addisjon (tall1, tall2):
    return tall1 + tall2

returverdi = addisjon (5, 5)
assert addisjon (5,5)==10
assert addisjon (-10, -10)==-20
assert addisjon (-7, 10)==3
print (returverdi)

""" 2 """

def subtraksjon (tall1, tall2):
    return tall1 - tall2


returverdi = subtraksjon (15, 6)
assert subtraksjon (15,15)==-0
assert subtraksjon (-30, 20)==-50
assert subtraksjon (-20, -10)==-10
print (returverdi)

def divisjon (tall1, tall2):
    return tall1 / tall2


returverdi = divisjon (50, 5)
assert divisjon (30, 2)==15
assert divisjon (-50, 3)==-16.666666666666668
assert divisjon (-30, -6)==5
print (returverdi)

""" 3 """

def tommerTilCm (antallTommer):
    assert antallTommer > 0
    return antallTommer * (2.54)

returverdi = tommerTilCm (12)
print (returverdi), "Cm"

""" 4 """

def skrivBeregninger():
    a=input ("Skriv inn tall 1: ")
    b=input ("Skriv inn tall 2: ")
    for a and b in skrivBeregninger():
        print (addisjon)
        print (subtraksjon)
        print (divisjon)
print (skrivBeregninger())
Reply
#2
Your last function is calling itself on line 48. This will go on forever, since there is nothing to stop the function between the start of the function and it calling itself.

It's not sure what you are trying to do here. Do you want the last function to add, subtract, and divide a and b? If so, you don't need a loop, but you need to call those functions with a and b as parameters (just like you do in all of your test code).

In the future, please describe the error you are having, including the full text of any error messages. It makes it much easier on our end.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#3
I see. Im spesifically trying to not take parameters on this last part, but instead take two user inputs and run those two numbers through addition, subtraction and division and then print the outcome of each function. Sorry, first time posting here!
Reply
#4
Okay, but you need to pass those two user inputs as parameters to the three math functions.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#5
As Ichabod stated, the functions need to have values for their arguments; there's no way around it. However, there are a couple addition items to change to accomplish your goal.

Line 48 won't work. A for loop only works on objects with a __next__() method. This line will raise a NoneType error, most likely. For your desired outcome, you don't need a for loop at all; the variables "a" and "b" are already there.

Lines 49 - 51 will print a memory location instead of the output of the functions. This is due to the functions being referenced but not called. To call them, parentheses are needed afterward along with their argument values.

Line 52 will print "None" because skrivBeregninger() does not return a value. You may want to return all three functions in a tuple from skrivBeregninger().

def skrivBeregninger():
    a=input ("Skriv inn tall 1: ")
    b=input ("Skriv inn tall 2: ")
    return (addisjon(a, b), subtraksjon(a, b), divisjon(a, b))
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  asyncio calls within sync function ( Websocket on_open) orion67 0 1,374 Jan-16-2022, 11:00 AM
Last Post: orion67
  Calls to Attributes of a Class SKarimi 3 3,335 Apr-22-2021, 04:18 PM
Last Post: SKarimi
  Combine Two Recursive Functions To Create One Recursive Selection Sort Function Jeremy7 12 7,190 Jan-17-2021, 03:02 AM
Last Post: Jeremy7
  list call problem in generator function using iteration and recursive calls postta 1 1,862 Oct-24-2020, 09:33 PM
Last Post: bowlofred
  RuntimeError: Optimal parameters not found: Number of calls to function has reached m bntayfur 0 6,068 Aug-05-2020, 04:41 PM
Last Post: bntayfur
  Run a timer when a functions starts to see how long the function takes to complete Pedroski55 2 1,948 Apr-19-2020, 06:28 AM
Last Post: Pedroski55
  How to split a string containing function calls? Metalman488 4 2,842 Oct-27-2018, 06:50 PM
Last Post: Metalman488
  call a function from other functions ... evilcode1 2 2,692 Sep-05-2018, 09:07 AM
Last Post: evilcode1
  Testing function calls jenselme 1 2,649 Jul-25-2018, 10:33 AM
Last Post: Larz60+
  argument parser: to execute single function, and subsequent functions also raghu 10 5,764 Mar-12-2018, 06:57 AM
Last Post: wavic

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020