0

I am a python leaner, right now I using compile function to get a variable from input

def main():
    c = compile("n = int(input('>>>'))", "", "single")
    exec(c)
    print(n) # NameError: name 'n' is not defined



if __name__ == '__main__':
    main()
    c = compile("n = int(input('>>>'))", "", "single")
    exec(c)
    print(n) # good, no error

same code has different effects in main() or under if __name__ == '__main__':

Waylan Punch
  • 239
  • 4
  • 17

0 Answers0