141. 다음과 같이 판매가가 저장된 리스트가 있을 때 부가세가 포함된 가격을 for 문을 사용해서 화면에 출력하라. 단 부가세는 10원으로 가정한다.
리스트 = [100, 200, 300]
110
210
310
-> 우선, for문을 사용하지 않고 모든 값에 10을 더하는 코드를 작성해 봅시다.
변수 = 100
print(변수 + 10)
변수 = 200
print(변수 + 10)
변수 = 300
print(변수 + 10)
변하는 값은 for문의 자료구조 자리에, 변하지 않는 코드는 들여쓰기 후에 작성합니다.
리스트 = [100, 200, 300]
for 변수 in 리스트:
print(변수 + 10)
파이썬 인터프리터가 코드를 실행하는 순서를 익혀서, 한 번에 for문으로 작성할 수 있어야합니다. (100 바인딩 - 들여쓰기 코드 실행) (200 바인딩 - 들여쓰기 코드 실행) (300 바인딩 - 들여쓰기 코드 실행)
142. for 문을 사용해서 리스트에 저장된 값을 다음과 같이 출력하라.
리스트 = ["김밥", "라면", "튀김"]
오늘의 메뉴: 김밥
오늘의 메뉴: 라면
오늘의 메뉴: 튀김
-> for문을 사용하지 않고 문자열을 출력하는 코드를 작성해 봅시다. 011번 문제와는 리스트안의 데이터 타입이 문자열이라는 것이 차이점입니다. 문자열의 덧셈은 두 문자열을 이어붙입니다.
메뉴 = "김밥"
print("오늘의 메뉴: " + 메뉴)
메뉴 = "라면"
print("오늘의 메뉴: " + 메뉴)
메뉴 = "튀김"
print("오늘의 메뉴: " + 메뉴)
변하는 값은 for문의 자료구조 자리에, 변하지 않는 코드는 들여쓰기 후에 작성합니다.
리스트 = ["김밥", "라면", "튀김"]
for 메뉴 in 리스트:
print("오늘의 메뉴: " + 메뉴)
문자열 덧셈 대신 print() 함수의 기능을 사용해서 다음과 같이 코드를 작성해도 좋습니다. print() 함수는 입력한 값을 한칸의 공백과 함께 이어붙여 출력합니다.
리스트 = ["김밥", "라면", "튀김"]
for 메뉴 in 리스트:
print("오늘의 메뉴:", 메뉴)
143. 리스트에 주식 종목이름이 저장돼 있다.
리스트 = ["SK하이닉스", "삼성전자", "LG전자"]
저장된 문자열의 길이를 다음과 같이 출력하라.
6
4
4
-> 문자열의 길이를 구하는 함수 len()을 사용합니다.
리스트 = ["SK하이닉스", "삼성전자", "LG전자"]
for 종목명 in 리스트:
길이 = len(종목명)
print(길이)
간단하기 때문에 한줄로 표현해도 좋습니다.
리스트 = ["SK하이닉스", "삼성전자", "LG전자"]
for 종목명 in 리스트:
print(len(종목명))
144. 리스트에는 동물이름이 문자열로 저장돼 있다.
리스트 = ['dog', 'cat', 'parrot']
동물 이름과 글자수를 다음과 같이 출력하라.
dog 3
cat 3
parrot 6
-> 리스트에는 동물이름이 문자열로 저장돼 있다.
리스트 = ['dog', 'cat', 'parrot']
for 이름 in 리스트:
print(이름, len(이름))
145. 리스트에 동물 이름 저장돼 있다.
리스트 = ['dog', 'cat', 'parrot']
for문을 사용해서 동물 이름의 첫 글자만 출력하라.
d
c
p
-> 어렵게 느껴진다면 for문을 사용하지 않고 코드를 작성해봅시다. 바인딩된 문자열의 인덱싱을 사용해서 첫 글자를 화면에 출력합니다.
이름 = "dog"
print(이름[0])
변수 = "cat"
print(이름[0])
변수 = "parrot"
print(이름[0])
변하는 값은 for문의 자료구조 자리에, 변하지 않는 코드는 들여쓰기 후에 작성합니다. 쉽죠?
리스트 = ['dog', 'cat', 'parrot']
for 이름 in 리스트:
print(이름[0])
146. 리스트에는 세 개의 숫자가 바인딩돼 있다.
리스트 = [1, 2, 3]
for문을 사용해서 다음과 같이 출력하라.
3 x 1
3 x 2
3 x 3
-> 012 문제를 풀었다면 충분히 응용할 수 있어야합니다. "3 x " 문자열과 숫자를 이어붙여 출력하면됩니다. 다만 변수에 바인딩된 값이 숫자이기 때문에 문자로 변환 후에 문자열 연산을 사용할 수 있습니다.
리스트 = [1, 2, 3]
for 변수 in 리스트:
print("3 x " + str(변수))
혹은 print() 함수가 제공하는 기능을 사용할 수 있습니다.
리스트 = [1, 2, 3]
for 변수 in 리스트:
print("3 x", 변수)
147. 리스트에는 세 개의 숫자가 바인딩돼 있다.
리스트 = [1, 2, 3]
for문을 사용해서 다음과 같이 출력하라.
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
-> 어려워 보인다면, for문을 사용하지 않고 풀어서 코드를 작성해야 합니다. 핵심은 print() 함수에서 `3 * 변수` 부분입니다. 변수를 활용해서 원하는 값을 만들어 냈습니다.
변수 = 1
print("3 x ", 변수, "=", 3 * 변수)
변수 = 2
print("3 x ", 변수, "=", 3 * 변수)
변수 = 2
print("3 x ", 변수, "=", 3 * 변수)
값만 변하고 있기 때문에 쉽게 for문으로 작성할 수 있습니다.
리스트 = [1, 2, 3]
for 변수 in 리스트:
print("3 x ", 변수, "=", 3 * 변수)
문자열 함수를 활용하면 코드가 더욱 읽기 쉬워집니다.
리스트 = [1, 2, 3]
for 변수 in 리스트:
print("3 x {} = {}".format(변수, 3 * 변수))
148. 리스트에는 네 개의 문자열이 바인딩돼 있다.
리스트 = ["가", "나", "다", "라"]
for문을 사용해서 다음과 같이 출력하라.
나
다
라
-> 리스트의 슬라이싱을 사용해서 일부 데이터를 "나다라" 변수에 바인딩합니다. "나다라"에 바인딩 된 리스트로 for문을 사용하면 원하는 결과를 얻을 수 있습니다.
리스트 = ["가", "나", "다", "라"]
나다라 = 리스트[1:]
for 변수 in 나다라:
print(변수)
리스트를 슬라이싱한 결과를 "리스트" 변수에 업데이트 할 수도있습니다. 전체 값을 출력하는 코드에서 for문의 코드 변경없이 추가 코드만 한줄 작성합니다.
리스트 = ["가", "나", "다", "라"]
리스트 = 리스트[1:]
for 변수 in 리스트:
print(변수)
간단하니 for문 자료구조 자리에 슬라이싱 코드를 한번에 작성할 수도있습니다.
리스트 = ["가", "나", "다", "라"]
for 변수 in 리스트[1:]:
print(변수)
세 개의 코드는 모두 동일한 동작을 하는데, 되도록이면 간단하게 쓰는게 좋겠죠? 세 번째 방법을 눈에 익혀 두세요.
149. 리스트에는 네 개의 문자열이 바인딩돼 있다.
리스트 = ["가", "나", "다", "라"]
for문을 사용해서 다음과 같이 출력하라.
가
다
-> 리스트 슬라이싱에서 `[시작:끝:증감폭] ` 세번째 값은 값을 가져오는 단위를 의미했습니다. 증감폭을 2로 설정해서 "가"와 "다" 값만 슬라이싱합니다.
리스트 = ["가", "나", "다", "라"]
for 변수 in 리스트[: :2]:
print(변수)
150. 리스트에는 네 개의 문자열이 바인딩돼 있다.
리스트 = ["가", "나", "다", "라"]
for문을 사용해서 다음과 같이 출력하라.
라
다
나
가
-> 증감폭을 음수로 설정하면 끝에서 앞방향으로 값을 슬라이싱합니다.
리스트 = ["가", "나", "다", "라"]
for 변수 in 리스트[: :-1]:
print(변수)
'Python > Python 300제' 카테고리의 다른 글
파이썬 300제 161~170 (반복문) (2) | 2024.07.15 |
---|---|
파이썬 300제 151~160 (반복문) (1) | 2024.07.15 |
파이썬 300제 131~140 (반복문) (0) | 2024.07.15 |
파이썬 300제 121~130 (분기문) (1) | 2024.07.15 |
파이썬 300제 111~120 (분기문) (1) | 2024.07.15 |