Hello there developers,
i am writing code that takes the user input and initializes a class depending on the input like in the example code below:
class X:
    def __init__(self):
       return
    def run(self):
       print("i am X")
def func1(cls):
    exec("global " + cls.lower())
    exec(cls.lower() + " = " + cls + "()")
def func2(mode_to_set):
    exec(mode_to_set.lower() + ".run()")
but as I run the code like this:
func1('X')
func2('X')
i keep getting this error:
Traceback (most recent call last):
  File "/Users/noahchalifour/Desktop/test.py", line 16, in <module>
    func2('X')
  File "/Users/noahchalifour/Desktop/test.py", line 13, in func2
    exec(mode_to_set.lower() + ".run()")
  File "<string>", line 1, in <module>
NameError: name 'x' is not defined
Can anyone help me?
 
     
     
    