Python Forum

Full Version: Called Functions Not Working
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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:

Output:
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> RESTART: C:\Users\Steven & Alisha\AppData\Local\Programs\Python\Python37-32\FNaF power calculator.py l is left door, r is right door, and f is flashlight. Awaiting Input: >>> l <function l at 0x033A3C90> >>>
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 location

I don't know what is up with the output there, but it is showing a new line, the program is no longer running
power_calc is a string, print(type(power_calc)). You are comparing it to an integer, which will never be True.
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().