sanseth5
?>

В заданной строке найти самое длинное слово - Мал золотник да дорог! В Python у строкового типа данных есть метод split(), который разделяет слова по пробелу (или другому символу, если он передан в качестве аргумента Получается список слов. Далее из этого списка можно извлекать отдельные слова, обращаясь к ним по индексам. Для решения задачи разбейте строку на слова, возьмите за самое длинное слово - самое первое, а дальше с цикла “for...in range” сравнивайте слова с первым.

Информатика

Ответы

Альберт Татьяна

Python 3.7

import re

import string

def clrStr(strng: str) -> str:

   return re.sub(r' +', ' ', re.sub(rf'[{string.punctuation}]|\n', '', strng))

raw_string = input()

clean_string = clrStr(raw_string)

print(max(clean_string.split(' '), key = lambda p: len(p)))

И никаких велосипедов с перебором всего списка слов в цикле.

Объяснение:

Да, я специально решил эту задачу не так, как просят в условии. Ведь в условии вам максимально разжевали подход к решению. Но, стоит заметить, что по дурацки. Питоньи списки можно перебирать циклом вида for item in list, не обращаясь к исходному списку по индексам. Так же функция max() может принимать аргумент key, который является функцией, с которой интерпретатор будет выбирать максимум из указанного списка.

Bulanova

Причин, по которой в школах на информатике изучают именно PascalABC, а не Python (Ладно хоть не JS), в общем говоря две - Адекватная и не очень.

Адекватная причина заключается в том, что в отличии от пайтона, паскаль - компилируемый язык со статической типизацией. Такие языки не прощают ошибок, если ты что то сделал не так - ты сразу же получаешь ошибку компиляции и идёшь перепиливать, а не обнаруживаешь свой косяк, когда кое-что уже попало на вентилятор.

Паскаль познакомит юного маслёнка с основными понятиями программирования в достаточно понятной форме. Программные блоки в языке Pascal выделяются ключевыми словами begin-end, что при минимальных знаниях английского будет восприниматься человеком намного проще, чем операторные скобки С-подобных языков, или питоньи отступы. Так же у паскаля в описаниях циклов присутствуют дополнительные ключевые слова, опять же более ясно дающие понять, что дальше будет происходить. Вот сравни, что понятнее (цикл for):

C/C++:

for (int i = 1; i < some_counter; i++) { //Code }

PascalABC.NET:

for var i := 1 to some_counter do begin

//code

end;

Паскалевский "фор" как то более подробно себя описывает, не так ли?

Или вот например чтение входного потока:

Читаем переменную i:

C++:

cin >> i;

PascalABC.NET

var i := ReadInteger();

Ну и куча других мелочей.

А вот почему в школах учат именно Турбо Pascal, А не, например, его современную версию PascalABC.NET - Проблема вероятно в программах обучения, составленных ещё в далёкие годы, и с тех пор не менявшихся. Да и большинство преподавателей информатики в школах мало знакомы с какими либо языками кроме древнючего турбопаскаля и сурового и беспощадного С. И это печально. Надеюсь, я ответил на твой вопрос.

Gatina

В ЭВМ применяется двоичная система счисления, т.е. все числа в компьютере представляются с нулей и единиц, поэтому компьютер может обрабатывать только информацию, представленную в цифровой форме.

Для преобразования числовой, текстовой, графической, звуковой информации в цифровую необходимо применить кодирование. Кодирование – это преобразование данных одного типа через данные другого типа. В ЭВМ применяется система двоичного кодирования, основанная на представлении данных последовательностью двух знаков: 1 и 0, которые называются двоичными цифрами (binary digit – сокращенно bit).

Таким образом, единицей информации в компьютере является один бит, т.е. двоичный разряд, который может принимать значение 0 или 1. Восемь последовательных бит составляют байт. В одном байте можно закодировать значение одного символа из 256 возможных (256 = 2 в степени 8). Более крупной единицей информации является килобайт (Кбайт), равный 1024 байтам (1024 = 2 в степени 10). Еще более крупные единицы измерения данных: мегабайт, гигабайт, терабайт (1 Мбайт = 1024 Кбайт; 1 Гбайт = 1024 Мбайт; 1 Тбайт = 1024 Гбайт).

Целые числа кодируются двоичным кодом довольно просто (путем деления числа на два). Для кодирования нечисловой информации используется следующий алгоритм: все возможные значения кодируемой информации нумеруются и эти номера кодируются с двоичного кода.

Например, для представления текстовой информации используется таблица нумерации символов или таблица кодировки символов, в которой каждому символу соответствует целое число (порядковый номер). Восемь двоичных разрядов могут закодировать 256 различных символов.

Существующий стандарт ASCII (8 – разрядная система кодирования) содержит две таблицы кодирования – базовую и расширенную. Первая таблица содержит 128 основных символов, в ней размещены коды символов английского алфавита, а во второй таблице кодирования содержатся 128 расширенных символов.

Так как в этот стандарт не входят символы национальных алфавитов других стран, то в каждой стране 128 кодов расширенных символов заменяются символами национального алфавита. В настоящее время существует множество таблиц кодировки символов, в которых 128 кодов расширенных символов заменены символами национального алфавита.

Так, например, кодировка символов русского языка Widows – 1251 используется для компьютеров, которые работают под ОС Windows. Другая кодировка для русского языка – это КОИ – 8, которая также широко используется в компьютерных сетях и российском секторе Интернет.

Но использование различных кодовых страниц для национальных алфавитов (применение 8 – разрядной системы кодирования) создает проблемы для обмена файлами между разными узлами сети Интернет. С целью устранения недостатков стандарта ASCII, организация Unicode внедрила новый стандарт универсальной системы UNICODE, основанный на 16 – разрядном кодировании символов.

В первой версии Юникода была представлена кодировка с фиксированным размером символа в 16 бит (два байта). Эта 16 – разрядная система обеспечивает универсальные коды для 65536 различных символов, т.е. в этой таблице могут разместиться символы языков большинства стран мира.

Но внедрение фиксированной 16 – разрядной системы кодирования символов (UTF-16) привела бы к увеличению объема текстовых файлов в два раза. В настоящее время Юникод имеет несколько форм представления: UTF-8, UTF-16 и UTF-32. UTF-32 использует для кодирования любого символа 32 бита, а UTF-8 и UTF-16 используют для представления символов переменное число байтов.

Фактически сейчас применяется кодировка UTF-8, которая обеспечивает совместимость с системой ASCII, использующей 8-битные символы. Символы ASCII занимают один байт в UTF-8 и используют те же биты. Остальные символы Юникода, которые не относятся к символам ASCII, кодируются переменным числом байтов от двух до четырех.

Для кодирования графических данных применяется, например, такой метод кодирования как растр. Координаты точек и их свойства описываются с целых чисел, которые кодируются с двоичного кода. Так черно-белые графические объекты могут быть описаны комбинацией точек с 256 градациями серого цвета, т.е. для кодирования яркости любой точки достаточно 8 - разрядного двоичного числа.

Режим представления цветной графики в системе RGB с использованием 24 разрядов (по 8 разрядов для каждого из трех основных цветов) называется полноцветным. Для поноцветного режима в системе CMYK необходимо иметь 32 разряда (четыре цвета по 8 разрядов).

Объяснение:

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

В заданной строке найти самое длинное слово - Мал золотник да дорог! В Python у строкового типа данных есть метод split(), который разделяет слова по пробелу (или другому символу, если он передан в качестве аргумента Получается список слов. Далее из этого списка можно извлекать отдельные слова, обращаясь к ним по индексам. Для решения задачи разбейте строку на слова, возьмите за самое длинное слово - самое первое, а дальше с цикла “for...in range” сравнивайте слова с первым.
Ваше имя (никнейм)*
Email*
Комментарий*