04. Search Lists Basic
Здравейте, ще се радвам някой да ми разясни къде и какво не съм разбрал :)
Става въпрос за задача номер 4 от Lab List Basic.
Това е условието:
You will receive a number n and a word. On the next n lines you will be given some strings. You have to add them in a list and print them. After that you have to filter out only the strings that include the given word and print that list too.
Ако може някой да ми разясни каква е разликата в логиката на тези два кода. Код1 в джъдж дава 100/100, а код2 60/100. Уж разликата е само в реда на цикъла
код1
n = int(input()) word = input() words_list = [] for i in range(n): string_input = input() words_list.append(string_input) print(words_list) for i in range(len(words_list) - 1, -1, -1): string_element = words_list[i] if word not in string_element: words_list.remove(string_element) print(words_list)
код2
n = int(input()) word = input() words_list = [] for i in range(n): string_input = input() words_list.append(string_input) print(words_list) for i in range(0, len(words_list)-1): string_element = words_list[i] if word not in string_element: words_list.remove(string_element) print(words_list)
И още един въпрос :) Защо долния код3 също дава само 60/100:
код3
n = int(input()) word = input() words_list = [] for i in range(n): string_input = input() words_list.append(string_input) print(words_list) for string in words_list: if word not in string: words_list.remove(string) print(words_list)
Благодаря много за подробното разяснение