Как ускорить код в Python?

abracadaber

Новичок
Пользователь
Апр 7, 2020
4
1
1
Вот код. Помогите ускорить

Python:
x = int(input())

i = 0;

n = int(input())

while (i < n):
  req = input()
  if (req[0] == "+"):
    d = int(req[2])
    x*=10
    x+=d
  elif (req[0] == "-"):
    x//=10
  i+=1
  print(x % 1000000007)
 
Последнее редактирование модератором:
  • Ха-ха!
Реакции: Student

Rud356

Модератор
Команда форума
Модератор
Апр 5, 2020
44
21
8
А в чем, собственно, вопрос? Где медленно то? Опиши, пожалуйста, подробнее.
 

abracadaber

Новичок
Пользователь
Апр 7, 2020
4
1
1
А в чем, собственно, вопрос? Где медленно то? Опиши, пожалуйста, подробнее.
Ну в одной олимпиаде тест валит 17 тест по времени
 

Rud356

Модератор
Команда форума
Модератор
Апр 5, 2020
44
21
8
Что за олимпиада и т.з. в студию + ты её делаешь прямо сейчас или просто пост-фактум?
 

abracadaber

Новичок
Пользователь
Апр 7, 2020
4
1
1
Что за олимпиада и т.з. в студию + ты её делаешь прямо сейчас или просто пост-фактум?
Прямо сейчас. Олимпиада BSUIR Open x
 

Rud356

Модератор
Команда форума
Модератор
Апр 5, 2020
44
21
8
Ну раз прямо сейчас - сиди и думай своей головой, ибо если тебе кто-то будет подсказывать - ты не своим умом отберешь у кого-то шанс победить. А я такое осуждаю.
 

abracadaber

Новичок
Пользователь
Апр 7, 2020
4
1
1
Ну раз прямо сейчас - сиди и думай своей головой, ибо если тебе кто-то будет подсказывать - ты не своим умом отберешь у кого-то шанс победить. А я такое осуждаю.
Ну шансов у кого-то отобрать победу нет. Проходит дальше 15 из 300. А первые 15 уже решили все задачи
 

Rud356

Модератор
Команда форума
Модератор
Апр 5, 2020
44
21
8
Ты все еще даже не объяснил что медленно то. На каком этапе код начинает тормозить, зачем он есть, что он должен делать и что за задание + помогать буду пытаться только когда все закончится (по крайней мере я).
 
  • Мне нравится
Реакции: Student

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
@abracadaber во всех языках программирования есть такая технология как профилирование кода. В PyCharm Professional (может быть есть и в Community я точно не знаю) она сразу вшита и помогает увидеть слабые места.
pycharm-profiler.png
Вот данная иконка с таймером запустит ваш код и покажет где слабое или "долгое по времени" часть кода.

Есть и другой вариант который мы описали в статье: Профилирование кода в Python
В вашем случае не понятно, что должен сделать код. Если вас интересует момент "как найти слабый участок в коде", то ответ получен ;)
 
  • Мне нравится
Реакции: Анатолий и Rud356

Форум IT Специалистов