2013-05-14 2 views
2

Я хочу иметь «y/n» в Python, который я успешно сделал, но я хочу, чтобы пользователь мог вводить «y» или «Y», и он принимает оба.Использование OR в Python для да/нет?

Вот короткий, если заявление

if yn == "y": 
    break 

Я хотел сделать это будет что-то вроде этого

if yn == "y" || "Y": 
    break 

Но "||" является оператором OR в Java. Я не знаю, что такое оператор OR на Python, или если бы я мог использовать его для чего-то подобного. Любая помощь?

+5

Обратите внимание, что эквивалент 'if yn ==" y "|| «Y» 'практически не работает на любом языке программирования. Это либо ошибка типа, либо дает бессмысленные результаты (всегда true), потому что это означает 'if (yn равно" y ") или (" Y "- true)'. Это не ** означает **, если yn равно либо «y», либо «Y». – delnan

+0

@delnan Я знаю, но ради простоты я просто использовал этот пример. – Xiam

+0

принять ответ, может быть? – Yanko

ответ

8

Вы ищете

if yn in ("y", "Y"): 

Или лучше:

if yn.lower() == 'y': 
+0

Сладкий и простой. Благодаря! – Xiam

5

Это or как в

if yn == 'y' or yn == 'Y':.

Хотя лучший метод будет

if yn in ['y', 'Y']:

или

if yn.lower() == 'y':.

7

выбрать:

if yn in ["y","Y"]: 
    break 

if yn.lower() == "y": 
    break 
+0

+1 если вы разрезаете точки с запятой. – root

+0

@root C привычки .. – Yanko

1
if yn in "yY": 

является более емким, чем

if yn in ['y', 'Y']: 

или аналогичные заявления. Он работает, потому что строка представляет собой последовательность в Python, точно так же, как список или кортеж.

Он будет оценивать значение True, если пользователь вводит буквально «yY».

Смежные вопросы