Python
Напишите полную программу, которая вводит строку с клавиатуры и выводит на экран её длину. Проверьте, как эта программа реагирует на строку с пробелами.
Ответ учителя по предмету Информатика
Ответ:
Объяснение:
Источник: ded-otvet.ru
Уроки 16 — 17
§19. Символьные строки
§19. Символьные строки
В середине XX века первые компьютеры создавались, прежде всего, для выполнения сложных математических расчётов, а сейчас они чаще всего обрабатывают текстовую (символьную) информацию.
Символьная строка — это последовательность символов.
В алгоритмическом языке и в Паскале для работы со строками используются специальные типы данных, которые позволяют:
Как получить от пользователя строку с пробелами
• работать с целой символьной строкой как с единым объектом;
• использовать строки переменной длины.
Такой тип данных в алгоритмическом языке называется литерным и обозначается лит, а в Паскале называется строковым и обозначается string.
Используя дополнительные источники, выясните, что означают слова «литера» и «литерный».
Используя дополнительные источники, выясните значение английского слова string.
Вот пример объявления строки:
лит s var s: string;
Новое значение записывается в строку с помощью оператора присваивания:
s:=’Вася пошёл гулять’ s:=’Вася пошёл гулять’;
или оператора ввода с клавиатуры:
Обратите внимание, что при вводе строк в Паскале нужно использовать оператор readln (англ. read line — читать до конца строки) вместо read.
Существуют стандартные функции, которые определяют длину строки (количество символов в ней). В алгоритмическом языке такая функция называется длин, а в Паскале — length (в переводе с англ. — длина). В этом примере в целочисленную переменную п записывается длина строки s:
n:=длин (s) n:=length (s);
Напишите полную программу, которая вводит строку с клавиатуры и выводит на экран её длину. Проверьте, как эта программа реагирует на строку с пробелами.
Следующая страница Сравнение строк
Cкачать материалы урока
Источник: xn—-7sbbfb7a7aej.xn--p1ai
Проверка пробелов в строке (python)
Я нахожусь в поезде, жаль, что не объясняю.. не могу набрать много..
doniyor 18 нояб. 2014, в 06:51
Поделиться
Благодарю. Но когда я запускаю это с «B B», я получаю «theres space» так, как хочу. Тем не менее, когда я бегу «B», у меня нет места. Зачем?
С++: лабораторная — решение задач на строки (класс string)
Digi_B 18 нояб. 2014, в 05:52
doniyor 18 нояб. 2014, в 05:57
Попробуйте ‘B’.split() == ‘B ‘.split() Если ‘B ‘ следует считать пробелом, это решение неверно.
dawg 18 нояб.
2014, в 06:12
doniyor 18 нояб. 2014, в 08:50
Не работает для t или n или любого другого символа пробела, кроме ASCII 0x20 (обычный символ пробела). ОП указывал любые пробелы, включая табуляцию или перевод строки
dawg 18 нояб. 2014, в 15:21
Показать ещё 3 комментария
Вы используете isspace , в котором говорится
str.isspace()
Возвращает true, если в строке есть только пробельные символы, и есть хотя бы один символ, иначе false.
Для 8-битных строк этот метод зависит от локали.
Nilesh 18 нояб. 2014, в 07:16
Поделиться
Хотя это абсолютно верное объяснение, это не показывает, как исправить.
Mad Physicist 09 март 2018, в 20:17
Обратите внимание: isspace не возвращает true для None или » . Эквивалентом IsNullOrWhiteSpace в .NET будет not s or s.isspace()
James Ko 21 апр. 2018, в 01:05
Вот аккуратный метод, который иллюстрирует гибкость понимания списков. Это вспомогательный метод, который проверяет, содержит ли данная строка какие-либо пробелы.
import string def contains_whitespace(s): return True in [c in s for c in string.whitespace]
>>> contains_whitespace(«BB») False >>> contains_whitespace(«B B») True
Это, конечно, можно расширить, чтобы проверить, содержит ли какая-либо строка элемент в любом наборе (а не просто пробел). Предыдущее решение — аккуратное, короткое решение, но некоторые могут утверждать, что его трудно читать и меньше Pythonic, чем что-то вроде:
def contains_whitespace(s): for c in s: if c in string.whitespace: return True return False
Источник: overcoder.net