Как ограничить количество определенных символов, которые пользователь может ввести в Jupyter Notebook - PullRequest
1 голос
/ 28 января 2020

Я нахожусь на самом раннем этапе обучения программированию, и мой учитель обращается только к inte rnet за помощью. Я часами пытался найти ответ, но, похоже, ничего не нашел. Вот так:

Я хочу, чтобы пользователь ввел строку, которая может содержать только один знак%, и принимает до этого только три символа, например:

hey%areyoustillout

может быть принято, но

oh%Ithoughyouwenthome%%

должен доставить сообщение об ошибке.

Это то, как далеко я закодировал:

message = input('Message')

if message == '%':
    print('Valid message')

else:
    print('Invalid message')

Это принимает сообщение, только если сообщение является исключительно '%'. Какую команду или условие я должен использовать, чтобы сообщить программе, что% может быть СРЕДИ входной строки? Я пытался интерпретировать этот , но не могу заставить его работать.

Я понимаю, что это, вероятно, очень простой c вопрос, и мне жаль, если я беспокою вас глупым вопросом. Большое спасибо заранее.

1 Ответ

1 голос
/ 28 января 2020

Вы можете использовать регулярные выражения. Например, если вы хотите сопоставить 3 символа, тогда %, а затем все, что угодно, вы можете использовать ^\w{3}\%.

^ означает начало строки, \w означает любой символ "слово", {3} означает совпадение 3 с предыдущей вещью, а затем \%, очевидно, означает поиск%. Так что это проверит, если строка начинается с 3 символов, а затем%.

import re
message = input('Message')

if re.match('^\w{3}\%', message):
    print('Valid message')
else:
    print('Invalid message')

Если вы хотите узнать больше, вы можете использовать этот сайт: https://regexr.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...