Если введена только часть слова из моего списка, мой код проверяет его как истинное, и что частичное слово находится в списке - PullRequest
1 голос
/ 16 июня 2019

Я только начал писать код на Python, вот мой код.

pOneCards = ["Jack S", "Queen H", "5 C", "2 S"]
dropCard = input()
dropCardCapital = dropCard.title()
while dropCardCapital not in str(pOneCards):
    dropCard = input()
    dropCardCapital = dropCard.title()
if dropCardCapital in str(pOneCards):
        print("You dropped " + dropCardCapital)

Когда пользователь вводит здесь букву J или как Que, код будет считать ее как находящуюся внутри списка и нарушатьцикл while.

Я хочу, чтобы он считал его истинным только тогда, когда введено все слово целиком.

1 Ответ

3 голосов
/ 16 июня 2019

Вы не должны разыгрывать pOneCards на str,

Попробуйте, пожалуйста:

pOneCards = ["Jack S", "Queen H", "5 C", "2 S"]
dropCard = input()
dropCardCapital = dropCard.title()
while dropCardCapital not in str(pOneCards):
    dropCard = input()
    dropCardCapital = dropCard.title()
if dropCardCapital in pOneCards:
        print("You dropped " + dropCardCapital)

значение str(pOneCards) равно "['Jack S', 'Queen H', '5 C', '2 S']", которое имеет типстрока, и, конечно, Que является ее подстрокой.

, если вы не str это, тогда pOneCards является списком строк, а in проверяет, является ли строка dropCardCapital является одной из строк в списке (полное совпадение, конечно)

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