Как проверить, существуют ли данные в списке или нет, в моем списке несколько контекстов типов данных? - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь проверить, существуют ли введенные пользователем данные в моем списке или нет, проблема, с которой я сталкиваюсь, состоит в том, что у меня есть список с несколькими типами данных.

Таким образом, даже если пользователь вводит число, которое является целым числом, оно воспринимается как строка, и хотя это число находится в списке, код не отображается в списке .

Если я объявляю ввод пользователя как int, то пользователь не может вводить строковые данные.Я хочу получить пользовательский ввод из одного и того же кода, но с несколькими типами данных.

Если я использую один тип данных либо целое число, либо строку, то код работает нормально.Но я сталкиваюсь с проблемой с несколькими типами данных.

my_list = ("a", "b", "c",4,5,6)

x= (input("Enter data : "))
if x in my_list:   
    print('Yes, in the list')
else:
    print('No, not in the list')

Пользователь должен иметь возможность вводить данные независимо от типа данных, будь то целое число или строка, а код должен проверять эти данные, доступны ли они в my_list илинет?

Ответы [ 2 ]

2 голосов
/ 24 мая 2019

Одной опцией можно преобразовать элементы my_list в str.

my_list = ("a", "b", "c",4,5,6)
my_list = [str(s) for s in my_list]  # Here, converting all elements to str

x = (input("Enter data : "))

if x in my_list:
    print('Yes, in the list')
else:
    print('No, not in the list')
0 голосов
/ 26 мая 2019

Я нашел другое решение для этого. Я могу использовать функции try и except.

my_list = ('a', 'b', 'c',4,5,6)
x= (input("Enter data : "))
try:
    val = int(x)
    if val in my_list:   
        print('Yes, in the list')
    else:
        print('No, not in the list')
except ValueError :
    if x in my_list:   
        print('Yes, in the list')
    else:
        print('No, not in the list') 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...