조건문, 반복문

yejichoi·2023년 4월 13일
0

Python

목록 보기
2/4
post-thumbnail

⚡️ 조건문

날짜/시간 출력하기

#날찌/시간과 관련된 기능을 가져옴
import datetime

#현재 날짜/시간을 구함
now = datetime.datetime.now()
print(now.year, "년")
print(now.month, "월")
print(now.day, "일")
print(now.hour, "시")
print(now.minute, "분")
print(now.second, "초")

끝자리로 짝수와 홀수 구분

number =input("정수 입력>")


last_character = number[-1]

last_number = int(last_character)

if last_number ==0 \
	or last_number ==2\
    or last_number ==4\
    or last_number ==6\
    or last_number ==8:
    print("짝수입니다.")
 
#----------------
if last_character in "02468":
	print("짝수입니다.")

#-------------
if number % 2 == 0:
	print("짝수입니다.")

elif 구문

import datetime

now = datetime.datetime.now()
month = now.month

if 3 <= month <= 5:
	print("현재는 봄입니다.")

elif 6<= month <= 8:
	print("현재는 여름입니다.")
else:
	print("현재는 겨울입니다.")

fasle로 변환되는 값

  • None
  • 숫자 0과 0.0
  • 빈 컨테이너(빈 문자열, 빈 바이트열, 빈 리스트, 빈 튜플 등)

pass 키워드

진짜로 아무것도 안함, 곧 개발하겠음 의미


number = input("정수 입력> ")
number = int(number)
if number > 0 :
	#양수일 때 : 미구현 상태
	pass
else: 
	#음수일 때 : 미구현 상태
	pass

🧺 반복문

리스트 연산자 : 연결(+), 반복(*), len()

리스트에 요소 추가하기: append, insert

리스트명.append(요소) 리스트 뒤에 요소 추가
리스트명.insert(위치, 요소) 리스트 중간에 요소 추가
리스트명.extend(리스트) 한 번에 여러 요소를 추가

리스트와 같이 원본에 어떠한 영향도 주지 않는 것을 비파괴적
append(), insert(), extend() 함수와 같이 직접적인 영향을 주는 함수 파괴적

인덱스로 리스트에 요소 제거하기 : del, pop

del 리스트명[인덱스]
리스트명.pop(인덱스)

값으로 리스트에 요소 제거하기: remove

리스트.remove(값) 지정한 값이 여러 개 있어도 가장 앞에 있는 하나만 제거

모두 제거하기 :clear

리스트.clear()

리스트 내부에 있는지 확인하기 : in/not in 연산자

값 in 리스트

list_a = [273, 32, 103, 57, 52]
273 in list_a
#True
99 in list_a
#False
100 in list_a
#False

리스트와 딕셔너리

리스트가 인덱스를 기반으로 값을 저장하면 딕셔너리는 키를 기반으로 값을 저장

#딕셔너리 선언

변수 = {:,:,
    ...:#키를 문자열로 사용할 때는 반드시 따옴표 사용 
}

딕셔너리에 값 추가하기/ 제거하기

딕셔너리[새로운 키] = 새로운 값
del 딕셔너리[키]

딕셔너리 내부에 키가 있는지 확인 : in 키워드

딕셔너리 내부에 키가 있는지 확인 : get()

dictionary ={
	"name": "건조 망고",
    "type": "당절임",
    "origin": "필리핀" 
    }
    
value = dictionary.get("존재하지 않는 키")
print("값: ", value)


if value == None:
	print("존재하지 않는 키에 접근했었습니다.")
    
# 값: None
# 존재하지 않는 키에 접근했었습니다. 

for 반복문: 딕셔너리와 함께 사용하기

for 키 변수 in 딕셔너리: 코드

범위

📍 마지막에 입력한 숫자는 범위에 포함되지 않음

range(a) 0부터 a-1까지
range(a, b) a부터 b-1까지
range(a,b, c) a부터 b-1까지, 앞뒤의 숫자가 c만큼 차이

for 반복문: 범위와 함께 사용하기

for 숫자 변수 in 범위: 코드

for 반복문: 반대로 반복하기

#역반복문

for i in range(4, 0, -1, -1):

print("현재 반복 변수: {}".format(i))
#현재 반복 변수: 4
 #현재 반복 변수: 3
  #현재 반복 변수: 2
   #현재 반복 변수: 1
    #현재 반복 변수: 0
    
    
for i in reversed(range(5))    
print("현재 반복 변수: {}".format(i))
#현재 반복 변수: 4
 #현재 반복 변수: 3
  #현재 반복 변수: 2
   #현재 반복 변수: 1
    #현재 반복 변수: 0
    

while 반복문

while 불 표현식: 문장

for문과 while문
무한반복, 조건을 활용해서 반복을 사용해야 한다면 => while

list_test = [1, 2, 1, 2]
value = 2

while value in list_test:
	list_test.remove(value)
 
 print(list_test)
 # [1,1]

while 반복문: 시간을 기반으로 반복하기

시간을 기반으로 조건을 걸 때는 while 반복문 사용

import time
number = 0

target_tick = time.time() + 5
while time.time() < target.tick:
	number += 1

while 반복문: break / continue

break : 반복문을 벗어날 때 사용하는 키워드
continue : 현재 반복을 생략하고, 다음 반복으로 넘어갈 때 사용하는 키워드

i = 0

while True:
	print("{}번째 반복문입니다.".format(i))
 i = i + 1
 
 input_text = input("> 종료하시겠습니까?(y/n): ")
 
 if input_text in ["y", "Y"]:
 	print("반복을 종료합니다")
     break
#y or Y를 입력하면 break 을 만나 반복문을 벗어나게 되므로 프로그램 종료
# 이 외의 경우에는 반복문을 계속 실행
numbers = [5, 15, 6, 20, 7, 25]

for number in numbers:
	# number가 10보다 작으면 건너 뜀
	if number < 10:
  	
      continue
      
  print(number)
  #15, 20, 25

리스트에 적용할 수 있는 기본 함수 : min(), max(), sum()

리스트 뒤집기 : reversed()

#확장 슬라이싱 
numbers = [1, 2, 3, ,4, 5]
print(numbers[::-1])
#[5, 4, 3, 2, 1]

현재 인덱스가 몇 번째인지 확인 : enumerate()

example_list = ["요소1", "요소2","요소3"]

print(enumerate(example_list))
#<enumerate object at 0x02A43CB0>

print(list(enumerate(example_list)))
#[(0, '요소1'),(1,'요소2'),(2,'요소3')] list 함수로 강제 변환

for i, value in enumerate(example_list):
	print("{}번째 요소는 {}입니다.".format(i, value))
#0번째 요소는 요소1입니다.   
#1번째 요소는 요소2입니다.  
#2번째 요소는 요소3입니다.  

딕셔너리로 반복문 작성 : items()

example_dictionary = {
		"키1": "값1"
     	"키2": "값2"
     	"키3": "값3"
}

print("items() :", example_dictionary.items())
#items() : dict_items([("키1", "값1"),("키2","값2"),("키3", "값3")])

for key, element in example_dictionary.items():
		print("dictionary[{}] = {}".format(key, element))
#dictionary[키1] = 값1
#dictionary[키2] = 값2
#dictionary[키3] = 값3

리스트 안에 for문 사용 : 리스트 내포

리스트 이름 = [표현식 for 반복자 in 반복할 수 있는 것]
리스트 이름 = [표현식 for 반복자 in 반복할 수 있는 것 if 조건문]

 array = [i * i for i in range(0, 20, 2)]
 # i * i 는 최종결과로 앞에 작성
  #0, 4, 16, 36, 64...
  

문자열의 join()

문자열.join(문자열로 구성된 리스트)

print("::".join(["1","2", "3", "4", "5"]))
 #1 :: 2 :: 3 :: 4 :: 5

0개의 댓글