GrigorenkoPV / JBPython

Old JetBrains internship application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Type Renreders [sic] for Python

Нужно реализовать функцию print_vars() на Python, которая будет анализировать локальные переменныев области видимости, из которой её вызвали. Для каждой переменной нужно распечатать её имя и проверку, является ли она стандартным built-in типом или нет.

Например, при таком вызове:

def foo():
    a = 1
    b = MyClass()
    c = [1, 2, 3]
    d = pandas.read_csv("my_file.csv")
    print_vars()

Она должна будет распечатать:

a: True
b: False
c: True
d: False

Потому что int - это built-in тип, MyClass - пользовательский класс, list - это тоже built-in тип, а pandas.DataFrame - хоть и библиотечный, но всё ещё не built-in тип.

Подсказка: получить доступ к локальным переменным с их именами и значениями в текущем фрейме можно с помощью метода sys._getframe()

Создать консольное приложение на Java или Kotlin, которое делает следующее:

  • Предлагает пользователю ввести путь до Python executable (до интерпретатора Python)
  • Запускает новый Python процесс, который выполняет следующую команду: <Путь до Python> -m timeit -r 10, где <Путь до Python> - строка, которую ввёл пользователь
  • Дожидается результата выполнения команды
  • В процессе ожидания, каждую секунду в консоль выводится, сколько секунд с момента запуска прошло
  • После окончания работы Python процесса, его результат также выводится в консоль

About

Old JetBrains internship application


Languages

Language:Java 62.8%Language:Python 37.2%