Оператор IF игнорирует ввод с клавиатуры - PullRequest
0 голосов
/ 26 апреля 2018

Я пытался запустить программу, используя ввод с клавиатуры, чтобы решить, запускать программу или нет, и оператор if игнорирует ввод и всегда по умолчанию равен оператору else. Вот мой код.

import random
import time
import sys

print("Do you want to run the program? Yes/No")
ans = sys.stdin.readline()

time.sleep(1)

if ans == "Yes" or ans == "yes":

    '''Body of IF statement'''

else:
    print("Alright, have a great day!")

1 Ответ

0 голосов
/ 26 апреля 2018

readline() включает перевод строки в свой результат. Используйте strip(), чтобы удалить его (и любые другие окружающие пробелы).

ans = sys.stdin.readline().strip()

Или используйте более нормальную input() функцию:

ans = input("Do you want to run the program? Yes/No")

И используйте lower() intead от or, чтобы разрешить нечувствительный к регистру ответ (если вы действительно не хотите трактовать YES и yES как нет).

if ans.lower() == 'yes':
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...