Python

Переписать код из С++ в Python

Помогите, пожалуйста, переписать следующий код из языка С++ в Python

#include <iostream>
#include <fstream>

int main()
{
int N = 1000;
double tmax = 100, t, F_m = 0.1, dt, vx, x;

std::ofstream fout;
fout.open ("1.dat");
dt = tmax / N;
x = 0;
vx=10;

for (int i = 0; i < N; i++)
{
t = i * dt;
fout << t <<" "<< vx <<x<<std::endl;
vx += -F_m * dt;
x += vx* dt;
}
}
 N, tmax, F_m = 1000, 100, 0.1 
dt = tmax / N
x = 0
vx = 10
with open("1.dat", "w") as file:
for i in range(N):
t = i * dt
print(t, vx, x, file=file)
vx -= F_m * dt
x += vx * dt
Субхон Дустов
Субхон Дустов
34 940
Лучший ответ
Я если честно по тексту программы с трудом понимаю, что тут написано, уж сильно отвратительные идентификаторы и структура кода. Да и некоторые вещи я тут не понимаю, что за << >> std:: и прочее. потоки эти.
Надеюсь ты понимаешь, что "1.dat" это файл именно в директории с исполняемым файлом.
Переменную N присваивать тысячу надо не в инициализации, а прям перед циклом, потому что что за N? Где она? А если она в начале файла длинной 100к строк, а цикл на 55638ой строке?
x = 0;
vx=10; - почему сверху пробелы разделяют знак присваивания, а снизу нет?
Такие вещи не должны присутствовать в коде жесточайшего в мире программиста.А на скрине вообще непонятки какие-то с табуляцией. В общем я тебе не могу помочь с переводом кода плюсов в код пайтона, потому что пайтон совсем не знаю, а то что на твоём (не моём прикрепленном к ответу) скрине понимаю только наполовину, так бы мог на паскаль перевести)
Если ты вывод пробела в поток fout обозначил как " ", мб тут есть синтаксис как в паскале, типа #32 (что равно ' '); и типа вместо std::endl, можно было написать #10 (LineFeed в линуксе) или #13 (в винде). Но мож можно хз, погугли.
Хотя я понял, что происходит на скрине и могу перевести на паскаль, но че то мне лень, нафиг надо. Попытался что то начать делать, но че то сидеть смотреть на каждую переменную, искать где она применяется и дать ей более корректный тип, нежели всему double, в общем в попку. Хотя с другой стороны по сути я отказываюсь от своего первого опыта чтения чужого кода на серьезных щах, ну ничего страшного не критично. Но если что знай, что если ты отказываешься решать задачу с мыслями "ой, да ну нафиг", в общем возможно ты кое-что при этом теряешь, и возможно потратив на неё время, ты мог стать другим человеком. Короче старайся не отказываться от задач, какими бы бессмысленными они тебе не казались. Любая задача приводит к умозаключениям, чаще всего нехилым, ну и прокачивает тебя жестко. Короче советую решать задачи.
Ярослав Шолом
Ярослав Шолом
23 484
а зачем переписывать? вводи "конвертация из C++ в Python или cpp в py
Сергей Полесовщиков Можете, пожалуйста, написать, что в итоге получится? Просто я не совсем понял, что вы хотели сказать