#python #arrays #for-loop #if-statement #arraylist
#python #массивы #for-цикл #if-оператор #arraylist
Вопрос:
Q1. Учитывая массив целых чисел, верните True, если 6 отображается как первый или последний элемент в массиве. Массив будет иметь длину 1 или более.
#first_last6([1, 2, 6]) → True
#first_last6([6, 1, 2, 3]) → True
#first_last6([13, 6, 1, 2, 3]) → False
#Code
my_list = []
in_list = list(map(int, input("Enter a multiple value: ").split()))
for num in in_list:
my_list.append(num)
if (my_list[0:] == 6 or my_list[:-1] == 6):
print("True")
else:
print("False")
код работает хорошо, но если условие не работает, в то время как else работает хорошо, например, если мы обращаемся к индексации «in_list [2]» в операторе else, это даст правильный ответ. тогда почему условие if не работает?
Комментарии:
1. Вам не нужно
:
в ваших индексах. Распечатайте то, чтоmy_list[0:]
иmy_list[:-1]
дает вам для отладки
Ответ №1:
Избавьтесь от :
.
Это slice
обозначение, и результатом среза является список, а не элемент этого списка.
my_list = [6, 1, 2, 3]
print(my_list[0:], my_list[:-1]) # slice list
print(my_list[0], my_list[-1]) # access list item by index
Вывод:
[6, 1, 2, 3] [6, 1, 2]
6 3