Вопрос задан 31.10.2023 в 02:23. Предмет Информатика. Спрашивает Жариков Даня.

Во многих интернет-сервисах при регистрации нужно указывать желаемое имя пользователя, причём в

имени разрешается использовать только латинские буквы, цифры и символ «_». Напишите программу, которая проверяет, подходит ли строка для того, чтобы быть именем пользователя в таком сервисе. Формат ввода Вводится одна строка — предполагаемое имя пользователя. Формат вывода Выводится одна строка: если введённая строка состоит только из маленьких латинских букв, цифр и символа «_», то выводится «OK» (латиницей); иначе выводится: «Неверный символ: », после чего следует первый не подходящий символ из введённой строки. Ввод пользователь Ожидаемый результат Неверный символ: п пробовала вот получилось но ему не нравится: a = ['_', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'п'] s = list(input()) for i in s: if i != i.upper() or i in a: pass else: print('Неверный символ:', i) break else: print('OK')
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бариева Марьям.
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main() {
  5. system("chcp 1251");
  6. string str;
  7. bool stringIsAllow = false;
  8. getline(cin, str);
  9. if (str.empty())
  10. {
  11.  return -1;
  12. }
  13. else
  14. {
  15.  for (int i = 0; i < str.length(); i++)
  16.  {
  17.   if ((str[i] >= 65 && str[i] <= 90) ||
  18.    (str[i] >= 97 && str[i] <= 122) ||
  19.    (str[i] >= 48 && str[i] <= 57) ||
  20.    str[i] == 95) {
  21.    stringIsAllow = true;
  22.    continue;
  23.   }
  24.   else
  25.   {
  26.    cout << "Wrong symbol: " << str[i] << endl;
  27.    stringIsAllow = false;
  28.    break;
  29.   }
  30.  }
  31. }
  32. if (stringIsAllow) {
  33.  cout << "OK!" << endl;
  34. }
  35. return 0;
  36. }
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ваш код близок к правильному, но он содержит ошибку в проверке символов. Вместо `i != i.upper()`, вы должны использовать `i.islower()`, чтобы проверить, что символ является маленькой латинской буквой. Также, вы можете сократить ваш код, убрав создание списка `s` и работая напрямую с введенной строкой. Вот исправленный код:

```python a = ['_', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'] input_str = input()

for char in input_str: if char.islower() or char in a: continue else: print('Неверный символ:', char) break else: print('OK') ```

Этот код будет проверять каждый символ в введенной строке и выводить "Неверный символ" с символом, который не соответствует условиям (не является маленькой латинской буквой, цифрой или символом "_"). Если вся строка удовлетворяет условиям, он выведет "OK".

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос