dear list,
what i have to do is, i have perform some mathmatical operation in one function and using its results as input into another function, here is my code of what i had done till now :

import math
def Math(x1,y1):
    a = x1+y1
    b = x1-y1
    c = x1*y1
    d = x1/y1   
    print "additin is: ", a
    print "subtraction is:", b 
    print "multiplication is:", c 
    print "division is: ", d
    print "square is:", e
    print "square root is", f 

x1 = 0
x = raw_input("enter first number: ")
while not (x.isdigit()):
    x = raw_input("enter a valid number: ")
x1 = int(x)

y1 = 0
y = raw_input("enter second number: ")
while not (y.isdigit()):
    y = raw_input("enter a valid number: ")
y1 = int(y)

Math(x1,y1)

def Manipulator():
        a1 = raw_input("choose the first number among a, b, c, d: ")
        a2 = raw_input("choose the second number among a, b, c, d: ")
        if a1 =='a':
            #here i have to assign the value of a from function Math() to a1

and in the similar way if user choose 'c' as second number then i have to assign the value of c from Math() to a2,
i am unable to do this, i dont know how to call a value from one function to another function, hope you understand what i am trying to ask.
Waiting for your reply.

Recommended Answers

Use function with parameters and return statement

Jump to Post

Whoa, whoa whoa, you'll have to redesign it.
First, rename your vars, I haven't, but you should.
Second, have Math return, then print, I've done this for you
Third, lowecase your vars, that's style.

import math
def Math(x1,y1):
    a = x1+y1
    b = x1-y1
    c = …
Jump to Post

All 7 Replies

Use function with parameters and return statement

Whoa, whoa whoa, you'll have to redesign it.
First, rename your vars, I haven't, but you should.
Second, have Math return, then print, I've done this for you
Third, lowecase your vars, that's style.

import math
def Math(x1,y1):
    a = x1+y1
    b = x1-y1
    c = x1*y1
    d = x1/y1
    return (a,b,c,d)
x1 = 0
x = raw_input("enter first number: ")
while not (x.isdigit()):
    x = raw_input("enter a valid number: ")
    x1 = int(x)
    y1 = 0
    y = raw_input("enter second number: ")
while not (y.isdigit()):
    y = raw_input("enter a valid number: ")
    y1 = int(y)
a,b,c,d = Math(x1,y1) #unpacking of vars
print "additin is: ", a
print "subtraction is:", b
print "multiplication is:", c
print "division is: ", d
print "square is:", e
print "square root is", f
def Manipulator():
    a1 = raw_input("choose the first number among a, b, c, d: ") #got to rename
    a2 = raw_input("choose the second number among a, b, c, d: ")
    exec("a1="+a1) #fancy shmancy no ifs
    exec("a2="+a2)

Square and square root of what?

i just forget to make it comment, it was nothing just bymistake :(

this is how i come to complete what i was trying to do, i know this is not the right way to do, but i have no one whom i ask so i am asking you guys please mention my mistakes so that i can again put my effort to make it proper, my code is:

import math

def Math(x1,y1):
    a = x1+y1
    b = x1-y1
    c = x1*y1
    d = x1/y1
    while True:
        e1 = raw_input("in Math() which number you want for square x or y: ")
        if e1 == 'x':
            e = x1**2
            break
        elif e1 == 'y':
            e = y1**2
            break
        else:
            e1 = raw_input("please enter the valid entry x or y :") 
    while True:    
        f1 = raw_input("in Math() which number you want for square root x or y: ") 
        if f1 == 'x':
            f = math.sqrt(x1)
            break
        elif f1 == 'y':
            f = math.sqrt(y1)
            break
        else:
            f1 = raw_input("please enter the valid entry x or y :")
    return (a,b,c,d,e,f)

x1 = 0
x = raw_input("enter first number for Math(): ")
while not (x.isdigit()):
    x = raw_input("enter a valid number for Math: ")
x1 = int(x)
y1 = 0
y = raw_input("enter second number: ")
while not (y.isdigit()):
    y = raw_input("enter a valid number: ")
y1 = int(y)
a,b,c,d,e,f = Math(x1,y1) #unpacking of vars 


def Manipulator():
    while True:
        a1 = raw_input("For Manipulator() choose the first number among a,b,c,d,e,f: ")  
        if a1 == 'a':
            n1 = int(a)
            break
        elif a1 == 'b':
            n1 = int(b)
            break
        elif a1 == 'c':
            n1 = int(c)
            break
        elif a1 == 'd':
            n1 = int(d)
            break
        elif a1 == 'e':
            n1 = int(e)
            break
        elif a1 == 'f':
            n1 = int(f)
            break
        else:
            a1 = raw_input("For Manipulator() choose the fir number among a,b,c,d,e,f: ")
    while True:
        a2 = raw_input("For Manipulator() choose the second number among a,b,c,d,e,f: ")
        if a2 == 'a':
            n2 = int(a)
            break
        elif a2 == 'b':
            n2 = int(b)
            break
        elif a2 == 'c':
            n2 = int(c)
            break
        elif a2 == 'd':
            n2 = int(d)
            break
        elif a2 == 'e':
            n2 = int(e)
            break
        elif a2 == 'f':
            n2 = int(f)
            break
        else:
            a2 = raw_input("For Manipulator() choose the sec number among a,b,c,d,e,f: ")

    add = n1+n2
    sub = n1-n2
    mul = n1*n2
    div = n1/n2
    while True:
        sq1 = raw_input("In Manipulator() which number you want for square i or j: ")
        if sq1 == 'i':
            sq = n1**2
            break
        elif sq1 == 'j':
            sq = n2**2
            break
        else:
            sq1 = raw_input("please enter the valid entry i or j :") 
    while True:    
        sqt1 = raw_input("In Manipulator() which number you want for square root i or j: ") 
        if sqt1 == 'i':
            sqt = math.sqrt(n1)
            break
        elif sqt1 == 'j':
            sqt = math.sqrt(n2)
            break
        else:
            sqt1 = raw_input("please enter the valid entry i or j :")


    print "\n addtion for Manipulator() is: ",add
    print "subtraction for Manipulator() is: ",sub
    print "multiplication for Manipulator() is: ",mul
    print "division for Manipulator() is: ",div
    print "square for Manipulator() is:", sq
    print "square root for Manipulator() is", sqt

    return (add,sub,mul,div)
Manipulator()

print "\n additin for Math() is: ", a
print "subtraction for Math() is:", b
print "multiplication for Math() is:", c
print "division for Math() is: ", d 
print "square for Math() is:", e
print "square root for Math() is", f



#and here is the output:

enter first number for Math(): 3
enter second number: 4
in Math() which number you want for square x or y: x
in Math() which number you want for square root x or y: y
For Manipulator() choose the first number among a,b,c,d,e,f: d
For Manipulator() choose the second number among a,b,c,d,e,f: c
In Manipulator() which number you want for square i or j: i
In Manipulator() which number you want for square root i or j: j


 addtion for Manipulator() is:  12
subtraction for Manipulator() is:  -12
multiplication for Manipulator() is:  0
division for Manipulator() is:  0
square for Manipulator() is: 0
square root for Manipulator() is 3.46410161514


 additin for Math() is:  7
subtraction for Math() is: -1
multiplication for Math() is: 12
division for Math() is:  0
square for Math() is: 9
square root for Math() is 2.0

this program will give error if i enter 0 for y, and the error is :
ZeroDivisionError: integer division or modulo by zero
i am unable to found any solution, please suggest some appropriate way to resolve this problem.

When you try to divide by zero ...

x = 2
y = 0
print(x/y)

''' result ...
Traceback (most recent call last):
  File "Untitled", line 3
    print(x/y)
ZeroDivisionError: division by zero
'''

You could protect yourself this way ...

x = 2
y = 0
if y != 0:
    print(x/y)
else:
    print("Division by zero error")
Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.21 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.