list 3

[알고리즘] 새로운 리스트를 생성한 후 원소의 위치(인덱스) 찾기

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 def seq_search(a, key): i = 0 for i in range(len(a)): if a[i] == key: return i return -1 print('실수를 검색합니다.') print('주의: "End"를 입력하면 종료합니다.') idx = 0 x = [] while True: b = input(f'x[{idx}]:') if b == "End": break else: x.append(b) idx += 1 print(x) # 리스트 'x'확인용 key = input(f'검색할 값을 입력하세요.:') seq_search(x, key) print..

배운 것/Python 2022.01.25

[기초 문법] 팰린드롬 확인하기 (for 문, list)

거꾸로 읽어도 똑같은 단어를 '팰린드롬(palindrome)'이라고 한다. 입력한 단어가 팰린드롬인지 아닌지 확인하고 맞는다면 'True', 아니라면 'False'를 출력하는 함수를 생성한다. 1 2 3 4 5 6 7 8 def is_palindrome(word): for i in range(len(word)//2): if word[i] == word[len(word)- 1 - i] : i += 1 if i == len(word)//2: return True else : return False cs 어떻게든 성공해내려고 노력한 나의 코드. 그런데 이렇게 하면 for문을 쓴 의미가 없어 보인다. 모범 답안은 다음과 같다. 1 2 3 4 5 6 7 8 9 10 def is_palindrome(word): f..

배운 것/Python 2022.01.21

[기초 문법] 리스트 뒤집기(for 문)

주어진 리스트의 원소들을 뒤집는 프로그램을 for으로 작성할 때 다음과 같이 하면, 1 2 3 4 5 6 numbers = [2, 3, 5, 7, 11, 13, 17, 19] for i in range(len(numbers)) : numbers[i] = numbers[len(numbers) - i - 1] print(numbers) Colored by Color Scripter cs 아래의 결과와 같이 원래의 리스트에서 대칭인 리스트가 출력이 된다. 그 이유는, numbers[4]부터는 number[3]을 불러와 값을 대체 할 때 이미 numbers[4]로 대체된 numbers[3]을 다시 불러와 대체하기 때문이다. 즉, 바뀐 것을 다시 불러오는 것이니 대칭이 되는 것이다. 이를 해결하기 위해서는, 1 ..

배운 것/Python 2022.01.07