반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 파이썬
- Combination
- 들여쓰기로 표현한 트리
- 자료구조
- Tree
- 큐
- 좋은 알고리즘
- 트리
- 리스트
- list
- 과일 장수
- LV.1
- 유사코드
- 알고리즘
- html
- 알고리즘의 조건 5가지
- 스택
- python
- 알고리즘의 조건
- 코딩테스트
- import itertools
- 프로그래머스
- 유한소수 판별하기
- 자바
- 태그
- itertools
- 코딩 테스트
- java
- 알고리즘 표현
- Import
Archives
- Today
- Total
인천의 자유인
파이썬 한줄로 if, for문 작성하기 본문
728x90
반응형
한줄 for문과 if문을 입력 할 때에 주의 할 점은 아주 간단한 코드(명령문이 한줄)일 때 가능하다.
그렇다면 이제 먼저 if문부터 알아보자
1. if 문
1. if
- 기존 방식
num = 2
if num == 2:
print('정답')
- 한줄 코드
num = 2
if num == 2: print('정답')
그냥 if뒤에 붙이면 된다.
2. if~else
-기존 방식
num = 2
if num == 2:
print('정답')
else:
print('오답')
-한줄 코드
num = 2
print('정답') if num == 2 else print('오답')
그냥 if와 if~else와 다른 점은 첫 번째 조건의 명령문이 맨 처음에 온다는 사실이다.
3. if~ elif ~else
- 기존 방식
num = 5
if num <5:
print('5보다 작다.')
elif num > 5:
print('5보다 크다.')
else:
print('5가 맞다.')
- 한줄 코드
num = 5
print('5보다 작다.') if num < 5 else print('5보다 크다.') if num > 5 else print('5가 맞다.')
# print('5보다 작다.' if num< 5 else '5보다 크다.' if num > 5 else '5가 맞다.')
주석 처리 한 것과 안한 것 결과는 같다. 편한 것을 쓰면 된다.
개인적으로는 if elif else문 같은 경우에는 그냥 쓴다. 한 줄로 쓰기에는 귀찮고 복잡해지는 것 같아서 오히려 기존 방식이 더 좋은 것 같다.
반응형
2. for 문
1. 일반 for문
- 기존 방식
numbers = [1,2,3,4,5]
for i in numbers:
print(i, end=' ')
# 출력 결과 -> 1 2 3 4 5
- 한줄 코드
numbers = [1,2,3,4,5]
[print(i, end=' ') for i in numbers]
대괄호는 꼭 해야 한다. 안하면 에러 난다.
2. 중첩 for문
- 기존 형식
numbers = [[1,2,3,4,5],[6,7,8,9,10]]
for i in numbers:
for j in i:
print(j, end=' ')
# 출력 결과 -> 1 2 3 4 5 6 7 8 9 10
-한줄 코드
numbers = [[1,2,3,4,5],[6,7,8,9,10]]
[print(j,end=' ') for i in numbers for j in i]
일반 for과 비슷한 원리다.
3. for문 + if 문
1. for + if
- 기존 코드
numbers = [1,2,3,4,5,6,7,8,9,10]
for i in numbers:
if i%2 == 0:
print(i, end=' ')
# 실행 결과 -> 2 4 6 8 10
- 한줄 코드
numbers = [1,2,3,4,5,6,7,8,9,10]
[print(i,end=' ') for i in numbers if i%2 == 0]
앞의 한줄 for문 if문을 잘 이해했으면 이것을 이해 하는데 있어서 크게 어려움이 없을 것이다.
2. for + if~else
-기존 방식
numbers = [1,2,3,4,5,6,7,8,9,10]
for i in numbers:
if i%2 == 0:
print(f'{i}(짝)', end = ' ')
else:
print(f'{i}(홀)', end = ' ')
# 실행결과 -> 1(홀) 2(짝) 3(홀) 4(짝) 5(홀) 6(짝) 7(홀) 8(짝) 9(홀) 10(짝)
- 한줄 코드
numbers = [1,2,3,4,5,6,7,8,9,10]
[print(f'{i}(짝)', end=' ') if i%2 == 0 else print(f'{i}(홀)', end=' ') for i in numbers]
앞서 봤던 조건 하나만 했을 경우와는 다르다. 이럴 때에는 if문 전체가 앞으로 와야 한다. 그리고 for문은 그 다음에 적어주어야 한다. 이점 유의하도록 하자.
한줄 if문, for문은 매우 유용하다. 코딩 실습 할 때에 이러한 기술을 많이 익혀서 더 효과적으로 할 수 있기를 바란다.
728x90
반응형
'Python > Python공부' 카테고리의 다른 글
[Python] permutation(순열), combination(조합)에 대해 알아보기 (0) | 2024.09.02 |
---|---|
[컴퓨팅 기반 문제해결] 반복 구조와 문제해결1 (0) | 2024.06.11 |
[컴퓨팅 기반 문제 해결] 선택 구조와 문제해결 2 (0) | 2024.05.14 |
[컴퓨팅 기반 문제해결] 선택 구조와 문제 해결 1 (0) | 2024.05.06 |
[Python] random모듈에 대해 알아보자. (0) | 2024.05.02 |