С какого языка начать программирование Pascal или Python?
Мне 22 года, работаю электриком. Но после несчастного случая, забираться на высотку уже нельзя. Это наложенное ограничение не позволяет зарабатывать достаточно. Решил переквалифицироваться в программиста. Вакансий много, даже удаленки есть, в моем положении самое то. Направление не раздумывая выбрал ВЕБ. Для меня эта сфера, как площадка для предоставления своих услуг, может даже буду подрабатывать электриком наймом. Программировать не умею, даже в школе не изучали. HTML и CSS изучил, сейчас плотно занимаюсь версткой, так как нюансов много постоянно изучаю новые элементы. Но теперь надо учиться программировать. Мне нравится Python и PHP, но почему то программисты на форумах не советовали начинать именно с них. Мол изучи алгоритмизацию на паскале, а потом Python, кто то советовал с C начинать. Что то я запутался, подскажите так с какого языка начать изучение азов, для обучения непосредственно программированию, наработке алгоритмического мышления Pascal или Python, пожалуйста приводите еще аргументы?
Лучший ответ
Тебе уже пару раз отвечали, я даже тогда не стал, так как можно с любого начать. Просто если нужно для работу, то питон, чтоб узнать азы программирования то проще изучить паскаль.
Если ты веб хочешь, то питон, но лучше и в ява-скрипте покопаться и делать сайты и пхп с точки зрения сервера, все понемногу, но классика алгоритмов все же паскаль — прост он.
Остальные ответы
С точки зрения изучения алгоритмов можно выбрать Pascal.
Но на Piton’е немного сложнее писать плохо структурированный код. Те же отступы, например. Плюс, после изучения Python’а можно посмотреть в сторону Django. А это уже WEB.
Почему в школах до сих пор преподают Pascal а не Python?
Вопрос собственно в заголовке.Почему не вводят в школьную программу по информатике язык Python.Ведь этот язык лучше и востребованней чем тот Pascal который сейчас преподают.
- Вопрос задан более трёх лет назад
- 18097 просмотров
1 комментарий
Оценить 1 комментарий
alreadydead1000993 @alreadydead1000993
Сергей Протько Здраствуйте, можете пожалуйста не лезть в темы в которых не разбираетесь
Питон в разы проще устаревшего еще век назад паскаля
А вы просто вводите в заблуждения людей!
Решения вопроса 0
Ответы на вопрос 11
Full-stack developer (Symfony, Angular)
Ведь этот язык лучше и востребованней чем тот Pascal который сейчас преподают.
Школьная программа не предполагает подготовку специалистов, а базовые понятия алгоритмизации можно спокойно давать и на паскале. Все остальное — смотреть ответ Армянское Радио
Ответ написан более трёх лет назад
Нравится 10 5 комментариев
Вы что, паскаль преподают даже в вузах.
Роман: вузы разные бывают. В том где учился я мои одногрупники начитывают лекции по JS, а лабы по сетям пишут на python/ruby.
Роман: ну я в том смысле что преподаватели помоложе учитывают современные реалии. Скажем сейчас пытаются приучить студентов к GIT, уже был положительный опыт со здачей лаб через github.
Сергей Протько: В каком городе такая утопия? В нашем вузе на третьем курсе сейчас Delphi как раз осваиваЮТ. Я сразу ушел в веб, дабы не заржаветь с вузом. Одногруппники дергают иногда, потому что сложновато.
Роман: В Минске. Но хочу отметить, что это только на одном факультете. На других в том же вузе тоже все плохо.

Любые ответы на любые вопросы
Хотя бы потому, что переподготовка нескольких тысяч учителей информатики, разработка учебных материалов, стандартов и программ обучения стоит серьезных денег.
Ответ написан более трёх лет назад
Комментировать
Нравится 8 Комментировать
Вообще да, Python гораздо приятнее Паскаля и я бы выбрал для обучения именно его. Прежде всего вследствие обилия библиотек. Школьника нужно заинтересовать, чтобы он начал работать мозгом, а для этого нужны интересные проекты. Хочется сделать графику? Пожалуйста, pygame. Хочется использовать устройство по USB? Да сколько угодно. Анализировать HTML-код? Да десятью разными способами.
Однако, смена Паскаля на Python как таковая не решит той проблемы с обучением информатике, какая присутствует в системе образования. Корни этой проблемы лежат в структуре системы образования и в качестве обучения самих учителей. А также, как это ни банально, в уровне их жизни.
Нет особой разницы, чему плохо учить школьников: Паскалю или Питону. Если же вы хотите научить Питону — существуют факультативы и кружки, если руководство школы поддерживает инициативу.
Если министерство образования в директивно-приказном порядке решит вдруг сделать такое изменение, это вряд ли принесёт кому-то пользу. Только море головной боли и затраты бюджетных средств.
Ответ написан более трёх лет назад
Комментировать
Нравится 6 Комментировать

Ушел на http://ru.stackoverflow.com/
Был бы питон, были-бы вопросы почему питон а не C# или любой другой, для школы нет разницы какой именно язык учить, база у всех языков идентична, надстройку над базой дают уже в профильных учебных заведениях. Для школы достаточно базовых понятий бинарной логики, условий, циклов и т.п. а это без особой разницы на каком языке показывать. Когда я учился преподавали asm и тоже было куча вопросов почему не %name%, ведь асм очень низкоуровневый и ОО языки более востребованы и т.п. но при этом после АСМ в институте другие языки (С, Object Pascal) было легко осваивать, принципы те-же другой синтаксис и все.
Ответ написан более трёх лет назад
Комментировать
Нравится 4 Комментировать

веб-разработчик
На самом деле как раз проблема кроется в том, что в школе стоит задача ознакомить с тем, что такое программирование и дать примерное представление о том, как это делается. Паскаль по сути просто язык для обучения программирования, если мне память не изменяет, то он и создавался именно с этой целью.
Прост в освоении, прост сам со себе и абсолютно со своими задачами справляется.
Ответ написан более трёх лет назад
Нравится 3 1 комментарий
nazarkoLovePythonAndUE4 @nazarkoLovePythonAndUE4
Но он не настолько легкий для освоения и в стране может стать больше програмистов и может появится новая кремнивая долина
Python junior developer
Многие щас начнут говорить, что он учит логики, алгоритмпм, наверное! Но по мне, так обучение Pascal нечего не дало! Максимум чему меня учат в школе, то это как вычислить площадь! Может там и идёт в 10-11 обучение ООП, но достойно в наших школах его не объясняет,ИМХО! Школьник, 16
Ответ написан более трёх лет назад
Нравится 2 4 комментария
mister36 пойдете в университет — там и научат. Либо сами обучайтесь. В рамки школьной программы это не должно вовсе входить, только если на факультативной основе. Далеко не всем это интересно и далеко не все смогут уйти дальше вычисления площади фигур. Основы логики и все.
Сергей Протько: Спасибо, за совет! Но я то понимаю, чему учиться, и сам обучаюсь! Знаю JS, но Pascal при обучение нечем не помог. Я так просто рассказал свою историю, про то как учат нас!
mister36: Ну все от преподавателя зависит. Я когда в лицее учился у нас было что-то вроде факультатива где нас конкретно гоняли по алгоритмам, заставляли ломать голову над всякими задачками и т.д. И там паскаль или не паскаль — пофигу. В отличии от python просто синтаксис был бы другим, а за счет того что нет встроенных в библиотеку языка решений, было меньше саблазнов схалтурить. Но за счет юношеского максимализма, и с учетом того что я уже тогда что-то знал и пописывал всякие там MVC-фреймворки-велосипеды, я не придавал слишком большого значения этому дело и так же считал это почти бесполезной тратой времени. А вот где-то через год, в ВУЗе, когда начали начитывать материалы по алгоритмизации все это нехило так пригодилось. И это довольно частая проблема среди преподавателей — они могут очень клево объяснять, и все может быть очень круто, но студенты просто не понимают нафиг этот предмет им нужен.
Сейчас в ВУЗе где я учился на втором курсе преподают c# и javascript в качестве объектно-ориентированных языков (в частности за счет принципиальных различий ОО модели выбрали эти два языка для побаловаться). Минимально покрывают ГОФ-ские шаблоны. Но опять же, из сотни студентов хорошо если десяток поймет зачем все это нужно. Про всякие SOLID/GRASP/KISS/DRY/etc вообще вскользь просто упоминали курсе на четвертом.
Алексей @somebodytolove
mister36: Если при изучении одного императивного языка другой не помог, значит вы концентрировались на конкретных функциях/API/фреймворках, а не на алгоритмах, структурах данных, их обработке итд. В 16 лет это может показаться скучным, написать слайдер интереснее, чем сортировку массива, но потом все равно придется это учить.
Я слышал, опытному программисту нужно всего пару недель, чтобы изучить новый язык на достаточном уровне. А паскаль для начала обучения мне нравится хотя бы тем, что begin и end более наглядны, чем < >
Python вместо Pascal

Здравствуйте. Павел!
Учитель (с учетом возможностей и интересов своих учеников, часов, отводимых на изучение предмета в конкретной школе, своих собственных возможностей) может выбрать для изучения в основной школе любой язык программирования, включенный в материалы ОГЭ по информатике. В материалах ОГЭ этого года есть алгоритмический язык, Бейсик, Паскаль, С++, Python.
Учебники специально построены так, чтобы в них отдельно шла линия алгоритмов, а затем — программирование. Это дает больше свободы учителю, если он захочет взять за основу не Паскаль, а другой язык программирования. Есть ряд учителей, которые уже сделали такой выбор в пользу языка С++ или Python. Как правило, это школы, где есть возможность выделить на изучение информатики в основной школе по 2 часа в каждом классе, где есть серьезная внеурочка инженерно-технической направленности. В 5-6 классах учащиеся программируют в среде Scratch, затем переходят к изучению одного из «настоящих» языков программирования.
Что важно учитывать при выборе языка программирования:
1. Паскаль — язык, созданный специально для того, чтобы научить программированию. Он прост и строг, в полной мере соответствует решению такой задачи, как развитие алгоритмического мышления, формирование алгоритмической культуры. Большинство учителей информатики владеют языком на уровне, достаточном для его преподавания в школе. Очень многие специалисты считают, что после изучения Паскаля легче освоить любой другой язык программирования. Большой минус — отсутствие мотивации к изучению этого языка школьниками.
2. Python — язык модный, живой и перспективный, обеспечивающий легкий старт. Он не обладает строгостью Паскаля, что не всегда хорошо для развитие алгоритмического мышления, формирование алгоритмической культуры. Многие специалисты считают, что после «ухода» в Python будет трудно вернуться к изучению другого языка программирования. В любом случае, желательно использовать связку Scratch + Python.
3. Самое главное: чтобы чему-то учить, надо самому знать не только то, чему собираешься научить школьников, но хотя бы немного больше. Поэтому сейчас ответственно переходить на Python могут далеко не все. Если у учителя есть соответствующая подготовка (изучал Python в вузе, закончил соответствующие курсы повышения квалификации), то он может работать по имеющимся учебникам, заменяя Паскаль на Python.
Развивая УМК мы готовим практикум по программированию для 7-9 классов, базирующийся на алгоритмическом языке, Паскале, С++ и Python. Надеемся, эта книга выйдет к началу нового учебного года.
Успехов Вам!
Символы и строки
До сих пор наши программы работали только с числами. Но многим программам надо работать с текстовыми данными. Для этого есть два основных объекта — символы и строки.
Символьный тип данных (паскаль)
Для хранения отдельных символов (букв, цифр, всяких знаков препинания и т.п.) в паскале есть тип данных char :
var ch:char;
— объявляет переменную, в которой можно хранить символ.
В такую переменную можно записать любой символ конструкциями следующего вида:
ch:='a'; ch:='$';
Здесь в правой части присваивания так называемые символьные константы, т.е. нужные символы, заключенные в апострофы. Здесь первая команда записывает в переменную ch символ «a», вторая — символ «доллар».
Кроме того, символы можно вводить и выводить привычными конструкциями:
read(ch); write(ch); // не переводя строку writeln(ch); // с переводом строки
Символьный тип данных (питон)
В питоне, чтобы сохранить символ в переменной, надо просто написать
ch = "a" ch = "$"
При этом можно использовать как символы кавычек («), так и символы апострофов (‘), это не имеет значения. Главное, чтобы они были согласованы.
Вводить символы можно обычной командой input() :
ch = input()
(именно прямо так)
выводить — обычным print :
print(ch)
(На самом деле, в питоне нет отдельного «типа» для символов, символ в питоне — это просто строка длины 1, про строки см. ниже. Но часто удобно думать про символы отдельно от строк.)
Коды символов (общее и для паскаля, и для питона)
На самом деле, конечно, в памяти компьютера хранятся не символы (т.е. если мы написали ch:=’$’; (паскаль) или ch=»$» (питон), то нигде в памяти не будет нарисован доллар). Компьютер умеет работать только с числами, и вместо символов он хранит тоже числа.
Есть общепринятая договоренность, которая каждому числу от 0 до 255 ставит в соответствие некоторый символ. Точнее, таких договоренностей есть несколько, они называется кодировки, но для латинских букв, цифр и частоупотребимых символов типа того же доллара, запятой или плюса, во всех кодировках соответствующие числа одинаковы. Для русских букв это не так: в разных кодировках им соответствуют разные числа, но это отдельная тема.
Эта общепринятая сейчас кодировка для латинских букв, цифр и частоупотребимых символов называется ASCII, иногда говорят таблица ASCII. Полностью эту таблицу (точнее, символы от 0 до 127 — эта часть собственно и называется ASCII; символы с номерами от 128 до 255 строго говоря не считаются ASCII, там как раз в разных вариантах русские буквы и т.п.) можно посмотреть, например, здесь. Здесь колонка Decimal — это номер символа, колонка Hex — номер символа, но в 16-ричной системе счисления (для тех, кто знает, что это такое, остальные игнорируйте колонку Hex), колонка Char — собственно сам символ. Пояснения: символы с номерами (кодами) до 31 включительно — это так называемые управляющие символы, они нам пока не очень интересны (равно как и символ 127); символ 32 — это пробел (в таблице написано SPACE). Остальные символы вроде понятны.
Например, символ доллар имеет номер (говорят код) 36, а символ N — 78.
Обратите внимание, что все цифры идут подряд, все заглавные буквы идут подряд, и все маленькие буквы идут подряд. Это нам будет очень полезно. (Для русских букв это выполняется не всегда.)
Что в паскале, что в питоне узнать код символа можно операцией ord , а узнать символ по коду можно операцией chr . Например:
var i:integer; ch:char; begin read(ch); // считали символ. writeln(ord(ch)); // и вывели его код i:=ord('$'); // записали в i код доллара writeln(i); read(i); // считали код writeln(chr(i)); // и вывели соответствующий символ ch:=chr(ord('$') + 1); writeln(ch); // вывели символ, следующий за долларом end.
ch = input() # считали символ. print(ord(ch)) # и вывели его код i = ord('$') # записали в i код доллара print(i) i = int(input()) # считали код print(chr(i)); # и вывели соответствующий символ ch=chr(ord('$') + 1) print(ch) # вывели символ, следующий за долларом
В большинстве случаев точное знание кодов символов вам не надо — вы всегда можете что надо вычислить через ord. Например, если мы знаем, что в переменной ch у нас цифра (т.е. символ, соответствующий цифре) — как в переменную i записать значение этой цифры (т.е. 0, 1, 2, . или 9)? Т.е. как перевести цифру-символ в число?
Нам поможет то, что все цифры идут подряд. Поэтому достаточно из кода цифры вычесть код нуля:
i:=ord(ch)-ord('0'); // паскаль i = ord(ch) - ord('0') # питон
Обратите внимание: нам не надо знать, что код нуля — 48. Мы прямо пишем ord(‘0’), а не 48, компьютер сам вычислит код нуля за нас!
Сравнения символов (и паскаль, и питон)
if ch1=ch2 then // если два символа совпадают. . if ch1>ch2 then // если код первого символа больше кода второго .
if ch1 == ch2: # если два символа совпадают. . if ch1>ch2: # если код первого символа больше кода второго .
Благодаря тому, что однотипные символы идут подряд, очень легко можно проверять тип символа. Например, чтобы проверить, является ли символ цифрой, можно написать:
if (ch>='0') and (ch<='9') then. // паскаль if ch>='0' and chМассивы и циклы (паскаль)
Массивы можно индексировать символами:
var a:array['a'..'z'] of integer; . a['d']:=10;Кроме того, можно делать циклы по символам:
var ch:char; . for ch:='a' to 'z' do begin.В обоих случаях порядок символов подразумевается по их кодам. Например, я могу сделать массив a:array['A'..'z'] of integer; — здесь будет по элементу для каждого символа с кодами от A до z.
Массивы и циклы (питон)
В питоне нельзя так просто, как в паскале, индексировать массивы символами и делать циклы по символам. Если вам надо сделать массив, в элементах которого хранить что-то, связанное с цифрами, то надо переходить к кодам:
a = [0] * 256 # у нас всего 256 символов a[ord('d')] = 10 # в элемент, соответствующий d, записали 10 . for x in range(ord('a'), ord('z')+1): ch = chr(x) print(ch) # выводим все символы от a до zНо вообще это продвинутая тема, сейчас пока вам не особо нужная.
Строки
Строка — это последовательность символов. Поэтому представляется естественным использовать для хранения строк массив символов:
// паскаль: var s:array[1..1000] of char; // строка не длиннее 1000 символов . // питон: s = ["T", "e", "s", "t"]
В паскале есть специальный тип данных для строк — string :
var s:string;В питоне, чтобы записать строку в переменную, надо просто записать строку в переменную:
s = "Test"Что в питоне, что в паскале, строка — это массив, каждым элементом которого является символ, но это не просто массив, а массив с дополнительными функциями.
Во-первых, вам не надо думать про длину строки. Паскаль и питон автоматически сами выделят под строку сколько надо памяти.
Внимание! В разных книжках по паскалю вы можете прочитать, что строки не бывают длиннее 255 символов. Это верно только в ряде вариантов паскаля. В используемом нами варианте — Free Pascal в режиме — строка может быть сколь угодно длинной — пока у программы не кончится доступная память.
Длину строки в паскале можно узнать командой length(s) , в питоне — как и у массива, командой len(s) :
writeln(length(s)); // паскаль print(len(s)) # питонВо-вторых, строки, конечно, можно считывать и выводить. На паскале это делается стандартными командами:
readln(s); writeln(s);(Почему readln, а не read, — см. ниже.)
На питоне — вывод обычным print , а ввод — обычным input() , никакой лишней конвертации не надо, пишете s = input() :
s = input() print(s)В-третьих, строки можно складывать. Сложить две строки — значит приписать к одной строке другую:
readln(s1); readln(s2); s:=s1+s2; writeln(s); // выведет две строки одну за другойs1 = input() s2 = input() s = s1 + s2 print(s) # выведет две строки одну за другойПрибавлять можно и символы:
s:=s+'A'; // паскаль s = s + 'A' # питонНаконец, строковые константы — это уже привычные вам последовательности символов в апострофах (паскаль) и в кавычках (питон):
s:='Test'; s:=s+'2'; writeln(s); // выводит Test2s = "Test" s = s + '2' print(s) # выводит Test2На самом деле, в питоне можно использовать как апострофы (символы ' ), так и кавычки (символы " )
Может возникнуть вопрос, как в строковой константе ввести собственно символ апостроф или кавычку. Просто так написать 'It's a string' не получится, т.к. что паскаль, что питон подумают, что строка закончилась на втором апострофе; аналогично в питоне не сработает "Text"Text". Поэтому в паскале внутри строковых констант апострофы надо удваивать, в а питоне — приписывать символ \ перед апострофом или кавычкой. Например, чтобы записать в переменную строку "It's a string", надо написать
s:='It''s a string'; // паскаль s = 'It\'s a string' # питон s = "It's a string" # тоже питон s = "It's a \"string\"" # тоже питон когда в строке и кавычки, и апострофыАналогично для записи символа "апостроф"/"кавычка" в переменную типа char:
ch:=''''; // паскаль ch = '\'' # питон ch = "'" # тоже питон ch = "\"" # тоже питон ch = '"' # тоже питонЕще частный случай строки — пустая строка, т.е. строка длины ноль:
s:=''; // паскаль s = "" # питонНу и наконец, строка — это все-таки массив символов. Можно использовать все известные вам операции над массивами (писать s[i] , чтобы получить доступ к i-му символу строки, и т.д. В паскале фактически других операций нет, в питоне много). Например, так можно проверить, есть ли в строке пробелы:
// паскаль for i:=1 to length(s) do if s[i]=' ' then. # питон for i in range(len(s)): if s[i] == ' ': .Почему readln? (Паскаль)
До сих пор я требовал, чтобы вы всегда использовали команду read, а не readln. Но до сих пор мы работали с числами; и пробелы и переводы строк были нам просто разделителями чисел, и поэтому команда read прекрасно работала.
Но теперь нам надо особо отличать перевод строки. Когда мы считываем строку (string) с клавиатуры, нам надо считать ее до перевода строки. Поэтому нам важно различать и уметь применять команды read и readln.
Различие у них единственное: read только считывает то, что попросили, и тут же останавливается. Readln же, считав то, что попросили, дальше пропускает все введенные данные до конца строки, и пропускает этот конец строки.
var a,b,c:integer; begin read(a); read(b); read(c); .Пусть на вход мы подаем следующие данные:
2 3 4Первый read считает число 2 и тут же остановится. Второй read увидит, что текущий символ пробел, пропустит его, увидит 3, считает его и остановится. Третий read увидит, что строка кончилась (на самом деле конец строки — это один или два специальных символа), перейдет на следующую строку, увидит там 4, и считает число 4.
Если же в программе были бы команды readln, то получилось бы следующее. Первый readln считывает число 2 и пропускает все остальное, что было в этой строке, в том числе и перевод строки. Второй readln сразу же видит число 4, считывает его, и пропускает все до конца строки включительно. Третий readln видит, что ничего не осталось, и потому ждет, когда вы что-нибудь введете еще.
Для чтения чисел первое поведение (с read) абсолютно логично. Поэтому если вы чистаете числа, то используйте read.
Но пусть вы читаете строки:
var s1,s2:string; begin read(s1); read(s2); .Пусть вы вводите следующее:
abc defПервый read считает 'abc', увидит перевод строки, и на этом остановится. Второй read увидит, что сразу идет перевод строки — он не будет его пропускать, а просто решит, что вы решили ничего не вводить, и s2 получится пустой строкой (длины 0).
Если бы были readln'ы, то первый readln считал бы 'abc' и пропустил бы перевод строки. Поэтому второй readln увидел бы символ d, считал бы 'def' и т.д.
В общем, будьте с этим внимательны и используйте те команды, которые вам нужны. Еще пример: если вводится число, а на следующей строке — строка, например:
5 abcто читать надо так (поймите, почему!)
readln(n); readln(s); // тут можно и read, если больше ничего не вводитсяinttostr и т.п. (Паскаль)
Есть еще четыре полезных команды:
inttostr // integer to string - целое число в строку strtoint // string to integer - строку в целое число floattostr // float to string - вещественное число в строку strtofloat // string to float --- строку в вещественное числоОни переводят числа в строки и обратно. Чтобы их использовать, надо в начале программы (после , но до var) написать uses sysutils;$mode>
uses sysutils; begin writeln(strtoint('2') + strtoint('55')); // выводит 57 writeln(inttostr(23) + 'abc' + inttostr(45)); // выводит 23abc45 writeln(strtofloat('2.5') * 2); // выводит 5.0000e0 writeln(floattostr(2.5) + 'a'); // выводит 2.5000e0a end.int и т.п. (Питон)
Есть еще три полезных команды:
int str floatОни переводят числа в строки и обратно, с int вы уже сталкивались.
print(str(23) + 'abc' + str(45)); // выводит 23abc45 print(float('2.5') * 2); // выводит 5.0000e0 print(str(2.5) + 'a'); // выводит 2.5000e0apos и т.п.
Паскаль: Есть еще ряд команд, работающих со строками, про которые вы можете прочитать в книжках — pos, copy, delete (паскаль) и т.п. Лучше их не используйте. В большинстве случаев можно обойтись без них, плюс вы точно не знаете, как долго они работают.
Питон: Вы знаете ряд хитрых команд работы с массивами, и иногда будет возникать желание их использовать при работе со строками. Лучше их не используйте, пока вы точно не будете понимать не только что, но и насколько быстро они работают. В большинстве случаев можно обойтись без них (и так даже будет проще!), плюс вы точно не знаете, как долго они работают. Аналогично про другие продвинутые функции типа find .
(И паскаль, и питон) Например, пусть вам надо из строки удалить все пробелы. Можно писать примерно так (считаем, что у вас уже есть исходная строка s ):
// паскаль while pos(' ',s)<>0 do delete(s,pos(' ',s),1); // питон while s.find(" ") != -1: s = s[:s.find(" ")] + s[s.find(" ")+1:] # вырезаем этот символНо это работает долго (поверьте мне 🙂 ) и требует от вас помнить все эти команды (а на питоне — еще и осознавать код). Проще так:
// паскаль s1:=''; for i:=1 to length(s) do if s[i]<>' ' then s1:=s1+s[i]; # питон s1 =''; for i in range(len(s)): if s[i] != ' ': s1 = s1 + s[i];Результат лежит в s1 . Поймите, как это работает.
На самом деле, на паскале (но не на питоне) есть еще один способ, без второй строки и без длительных сдвигов. Можете подумать над ним.