|
Вопрос # 2 261/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Пожалуйста подскажите , что значит (или как работакт ) следующий фрагмент
 |
Вопрос задал: joke (статус: Посетитель)
Вопрос отправлен: 4 января 2009, 14:42
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Ученый
Здравствуйте, joke! В программе задан масив строковых переменных S[диапозон]. Функция ord позволяет определить код символа, который передается ей в качестве параметра.
Судя по тому, что стоит логическое умножение and, можно сказать, что это строка кода из ветвления, и означает ,что если код символа S[i] меньше 58, но больше 47, тогда будет выполненно......
А вообще скажу вам, что (ord(S[i])<58) and (ord(S[i])>47) используется чаще всего для того, чтобы разрешить ввод только цифр....
 |
Ответ отправил: Ученый (статус: 8-ой класс)
Время отправки: 4 января 2009, 15:09
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 4 января 2009, 22:23; участников в обсуждении: 4.
|
Мережников Андрей (статус: Абитуриент), 4 января 2009, 18:12 [#1]:
S[i] не обязательно означает элемент массива символьных переменных. Скорее всего это i символ в строке s типа string.
|
|
Ученый (статус: 8-ой класс), 4 января 2009, 18:19 [#2]:
Может быть....
|
|
Вадим К (статус: Академик), 4 января 2009, 22:17 [#3]:
Да, похоже на то, что это проверка на цифра/не цифра. Но обычно её пишут так
(s[i]>='0') and (s[i] <='9')
Но для полного диагноза надо знать тип переменной s.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Dron (статус: Студент), 4 января 2009, 22:23 [#4]:
Обычно пишут ещё короче:
if s[i] in ['0'..'9'] then
С уважением.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|