B
B
BenderF2020-06-05 06:57:04
Python
BenderF, 2020-06-05 06:57:04

Character input function?

Hello !
How to make a function in Python check characters so that it only accepts 2 characters 'y' and 'n' , if the characters are not different, then it asks you to enter these characters again.
I myself am a beginner, I found it here on the Internet, it looks like in C ++ I tried to write the same thing in Python:
Code in C ++

char getOperator()
{
    while (true) // цикл продолжается до тех пор, пока пользователь не введёт корректное значение
    {
        std::cout << "Enter one of the following: +, -, *, or /: ";
        char sm;
        std::cin >> sm;
 
        // Переменные типа char могут принимать любые символы из пользовательского ввода, поэтому нам не стоит беспокоиться по поводу возникновения неудачного извлечения
 
        std::cin.ignore(32767,'\n'); // удаляем лишний балласт
 
        // Выполняем проверку пользовательского ввода
        if (sm == '+' || sm == '-' || sm == '*' || sm == '/')    
            return sm; // возвращаем обратно в caller
        else // в противном случае, сообщаем пользователю что что-то пошло не так
            std::cout << "Oops, that input is invalid.  Please try again.\n";
        } 
}

My work that doesn't work :)
def key():
    while True:
        x = input("Сыграть еще раз? y/n\n")
        if x ==  'n' or 'y':
            return x
        else:
            print("Сыграть еще раз? y/n")
key()

If you don't mind, could you point out exactly where I'm doing something wrong. It is very important for me

Answer the question

In order to leave comments, you need to log in

2 answer(s)
D
Dr. Bacon, 2020-06-05
@BenderF

this is "not that" , because it works like thisif x == 'n' or 'y':if (x == 'n') or ('y'):

A
aRegius, 2020-06-05
@aRegius

while x not in ('y', 'n'):
    x = input("Сыграть еще раз?")

Or for any case ('Y', 'y', 'N', 'n'):
while x.lower() not in ('y', 'n')

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question