Программа на Python, которая проверяет, содержится ли указанное значение в группе значений

#python

#питон

Вопрос:

 value1=list(input("First value:"))   group1=[]   list_size1=int(input("How many characters do you want in first group1:")) for i in range(0,list_size1):  print("Enter number at index",i,)  item1=int(input())  group1.append(item1)   for i in range(0,len(value1)-1):  if value1[0]==group1[i]:  continue  print("True")  

Но мой код работает неправильно.У меня нет ошибок, но я не получаю правильного ответа.Если я использую свое первое значение в первом элементе группы 1, у меня нет проблем, но если я использовал его на других элементах, оно не показывает истинности, даже если мой номер находится в группе 1.Что мне следует делать?

Комментарии:

1. Вы должны использовать два цикла for, один для перебора значений 1, а другой через группу 1, чтобы проверить, доступно ли значение. Более того, group1[i] зацикливается во втором цикле for, но значение 1[0] нет, оно всегда вернет вам первый элемент в этом списке.

2. Короткий способ проверить, содержит ли список определенное значение, можно использовать in , например, в цикле for: 3 in [4, 99, 3] возвращает True , пока 3 in [1, 99, 2] возвращает False . Следуя этому шаблону, вы можете проверить свою группу без цикла.

Ответ №1:

Вероятно, вы хотите in , чтобы оператор проверял, находится ли значение в последовательности.

 gt;gt;gt; "a" in "abc" True  gt;gt;gt; 1 in [1,2,3] True  

так что попробуйте с

 if value1[0] in group1  

В любом случае, ошибка, которую я вижу, заключается в том, что вы захватываете длину значения 1 в цикле for, а затем используете ее в качестве индекса для group1.

 for i in range(0,len(value1)-1): # here you take len(value1), you probably wanted len(group1)  if value1[0]==group1[i]:  continue  print("True")  

Вы можете зациклить группу 1 напрямую вместо зацикливания индекса:

 for item in group1:  if value1[0] == item:  continue  print("True")  

Теперь часть «Продолжить», она фактически пропускает любые совпадающие элементы, противоположные тому, о чем вы просите.

Чтобы проверить, содержится ли какое-либо из значений в значении1 в группе 1:

 for value in value1:  if value in group1:  print("True")  break  

Если значение 1 всегда является одним вводом, пропустите часть списка() в первой строке и просто сделайте

 gt;gt;gt; value1 = input("First value: ") First value: a  gt;gt;gt; value1 a  gt;gt;gt; group = list(input("group of stuff: ")) group of stuff: abcd  gt;gt;gt; group ['a', 'b', 'c', 'd']  gt;gt;gt; value1 in group True