| 
| 
 | Вопрос # 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 С уважением. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |