jskfan
asked on
using Python Modules
using Python Modules
I have this Python Code:
I want to call the methods above from this program and pass the wight argument for instance 200
however, it seems like if I do not specify the weight in Mod1.py the calling code will fail.
[/code]
I have this Python Code:
def test1(weight):
return weight * 0.45
print(test1())
def test2(weight):
return weight/ 0.45
print(test2())
I want to call the methods above from this program and pass the wight argument for instance 200
from mod1 import test1,test2
test1(200)
test2(200)
however, it seems like if I do not specify the weight in Mod1.py the calling code will fail.
C:\Users\user\AppData\Local\Programs\Python\Python38\python.exe C:/Python-Projects/Mydjangoproject/test.py
Traceback (most recent call last):
File "C:/Python-Projects/Mydjangoproject/test.py", line 1, in <module>
from mod1 import test1,test2
File "C:\Python-Projects\Mydjangoproject\mod1.py", line 3, in <module>
print(test1())
TypeError: test1() missing 1 required positional argument: 'weight'
Process finished with exit code 1[code]
[/code]
your print statements are after the function returns (ergo not in the function) so it will error out when it tries to compile the functions
a.py
def test1(weight):
return weight * 0.45
def test2(weight):
return weight / 0.45
>>> from a import test1,test2
>>> test1(200)
90.0
>>> test2(200)
444.44444444444446
>>>
Remove the print statements from mod1.py
Or if you want to keep them for some reason, e.g. to test the functions, then try something like this.
Or if you want to keep them for some reason, e.g. to test the functions, then try something like this.
def test1(weight):
return weight * 0.45
def test2(weight):
return weight / 0.45
if __name__ == '__main__':
print(test1(100))
print(test2(100))
ASKER
David,
I corrected the code but still do not get any result:
Test.py
Mod1.py
when I run it, I do not get any result:
I corrected the code but still do not get any result:
Test.py
from mod1 import test1,test2
test1(200)
test2(200)
Mod1.py
def test1(weight):
return weight * 0.45
print(test1())
def test2(weight):
return weight/ 0.45
print(test2())
when I run it, I do not get any result:
C:\Users\user\AppData\Local\Programs\Python\Python38\python.exe C:/Python-Projects/Mydjangoproject/test.py
Process finished with exit code 0
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Perfect!
it worked ..Thank you
it worked ..Thank you