Я если честно по тексту программы с трудом понимаю, что тут написано, уж сильно отвратительные идентификаторы и структура кода. Да и некоторые вещи я тут не понимаю, что за << >> std:: и прочее. потоки эти.
Надеюсь ты понимаешь, что "1.dat" это файл именно в директории с исполняемым файлом.
Переменную N присваивать тысячу надо не в инициализации, а прям перед циклом, потому что что за N? Где она? А если она в начале файла длинной 100к строк, а цикл на 55638ой строке?
x = 0;
vx=10; - почему сверху пробелы разделяют знак присваивания, а снизу нет?
Такие вещи не должны присутствовать в коде жесточайшего в мире программиста.

А на скрине вообще непонятки какие-то с табуляцией. В общем я тебе не могу помочь с переводом кода плюсов в код пайтона, потому что пайтон совсем не знаю, а то что на твоём (не моём прикрепленном к ответу) скрине понимаю только наполовину, так бы мог на паскаль перевести)
Если ты вывод пробела в поток fout обозначил как " ", мб тут есть синтаксис как в паскале, типа #32 (что равно ' '); и типа вместо std::endl, можно было написать #10 (LineFeed в линуксе) или #13 (в винде). Но мож можно хз, погугли.
Хотя я понял, что происходит на скрине и могу перевести на паскаль, но че то мне лень, нафиг надо. Попытался что то начать делать, но че то сидеть смотреть на каждую переменную, искать где она применяется и дать ей более корректный тип, нежели всему double, в общем в попку. Хотя с другой стороны по сути я отказываюсь от своего первого опыта чтения чужого кода на серьезных щах, ну ничего страшного не критично. Но если что знай, что если ты отказываешься решать задачу с мыслями "ой, да ну нафиг", в общем возможно ты кое-что при этом теряешь, и возможно потратив на неё время, ты мог стать другим человеком. Короче старайся не отказываться от задач, какими бы бессмысленными они тебе не казались. Любая задача приводит к умозаключениям, чаще всего нехилым, ну и прокачивает тебя жестко. Короче советую решать задачи.