Still confused about how passing arguments works - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Still confused about how passing arguments works (/thread-9718.html) |
Still confused about how passing arguments works - RedSkeleton007 - Apr-25-2018 I have a simple user input program: #!/usr/bin/python #QuickTest.py def getLocation(x,y,z): x = input("Specify horizontal position: ")#latitude y = input("Specify vertical position: ")#longitude z = input("Specify altitude: ")#above sea level return x,y,z def QuickTestMain(): ## x = 0 ## y = 0 ## z = 0 getLocation(x,y,z) print("You are located at " + str(x) + "degrees latitude, " + str(y) + " degrees longitude, " + " and " + str(z) + " feet above sea level.") QuickTestMain()When lines 11 - 13 are not commented out, it just prints all 0's (I just wanted to initialize them, so that they exist in the program): And then if I comment them out, I get: How do I fix this?
RE: Still confused about how passing arguments works - Larz60+ - Apr-25-2018 x,y,z = getLocation(x,y,z) RE: Still confused about how passing arguments works - mlieqo - Apr-25-2018 There is no need for your getLocation function to have x,y,z arguments, because user will input them after the function is called. def getLocation(): x = input("Specify horizontal position: ")#latitude y = input("Specify vertical position: ")#longitude z = input("Specify altitude: ")#above sea level return x,y,zand then when you are printing it inside QuickTestMain function add x,y,z = getLocation()because you need to store the return values from your getLocation function, otherwise they will get lost :D RE: Still confused about how passing arguments works - snippsat - Apr-25-2018 As mention bye @mlieqo getLocation() shall not have argument in,they get create in function. PEP-8 and f-string. def location(): x = input("Specify horizontal position: ") y = input("Specify vertical position: ") z = input("Specify altitude: ") return x, y, z def quick_test(): latitude,longitude,altitude = location() print(f'You are located at {latitude} degrees latitude ' f'{longitude} degrees longitude and {altitude} feet above sea level.') quick_test()
|