Called Functions Not Working - 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: Called Functions Not Working (/thread-19729.html) |
Called Functions Not Working - WhatAmIDoing09 - Jul-12-2019 So I am trying to do Five Nights at Freddy's in real life and I need a calculator to see how much power we have left. But I keep running into a problem. I defined a few functions (Using the lights, closing the doors), and called them, but for some reason when I run the script and try to use them it does not work. It's not an error. I will type the function 'l' when running the code and it gives me: <function l at *Random numbers, letters, and symbols* import time power = 100 power_calc = input("l is left door, r is right door, and f is flashlight. Awaiting Input:") if len(power_calc) < 0: print("empty") #this is for l def l(): if power_calc is 1: time_1 = time def ll(): if power_calc is ll: time_2 = time time_total_1 = int(time_1) - int(time_2) power - time_total_1 #this is for r def r(): if power_calc is r: time_3 = time def rr(): if power_calc is rr: time_4 = time time_total_2 = int(time_3) - int(time_4) power - time_total_2 #this is for f def f(): power - 2 l() ll() r() rr() f() if power == 0: print("Game Over")And this is what it will give me when I run it:
RE: Called Functions Not Working - SheeppOSU - Jul-12-2019 When calling a function, you need to add parenthesis at the end - l() . Doing this - l will call the function name and it's memory locationI don't know what is up with the output there, but it is showing a new line, the program is no longer running RE: Called Functions Not Working - woooee - Jul-12-2019 power_calc is a string, print(type(power_calc)). You are comparing it to an integer, which will never be True. RE: Called Functions Not Working - ichabod801 - Jul-12-2019 You really need to review functions, especially how to pass values with parameters and return to assignments with the return statement. See the functions tutorial link in my signature, below. Also, time is a module. Doing time_1 = time just gives you a new name for the module, which goes away after the function ends. If you want to get the current time using the time module's time function, you want time_1 = time.time() .
|