#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