
Во многих интернет-сервисах при регистрации нужно указывать желаемое имя пользователя, причём в
имени разрешается использовать только латинские буквы, цифры и символ «_». Напишите программу, которая проверяет, подходит ли строка для того, чтобы быть именем пользователя в таком сервисе. Формат ввода Вводится одна строка — предполагаемое имя пользователя. Формат вывода Выводится одна строка: если введённая строка состоит только из маленьких латинских букв, цифр и символа «_», то выводится «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')

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

- #include <iostream>
- #include <string>
- using namespace std;
- int main() {
- system("chcp 1251");
- string str;
- bool stringIsAllow = false;
- getline(cin, str);
- if (str.empty())
- {
- return -1;
- }
- else
- {
- for (int i = 0; i < str.length(); i++)
- {
- if ((str[i] >= 65 && str[i] <= 90) ||
- (str[i] >= 97 && str[i] <= 122) ||
- (str[i] >= 48 && str[i] <= 57) ||
- str[i] == 95) {
- stringIsAllow = true;
- continue;
- }
- else
- {
- cout << "Wrong symbol: " << str[i] << endl;
- stringIsAllow = false;
- break;
- }
- }
- }
- if (stringIsAllow) {
- cout << "OK!" << endl;
- }
- return 0;
- }



Ваш код близок к правильному, но он содержит ошибку в проверке символов. Вместо `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".


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili