본문 바로가기
반응형

Embedded/Python-Django29

Python 코루틴 ## result = False## while True:## line = (yield result) # result 값을 외부로 보내고, send로 다음 문자열을 line 변수로 받음## result = word in line # line 안에 word가 있는지 검사####f = find('Python') # Python이라는 단어를 찾는 제너레이터 생성##next(f) # 제너레이터를 초기화하고 첫 yield까지 실행(result=false)## ##print(f.send('Hello, Python!'))##print(f.send('Hello, world!'))##print(f.send('Python Script'))## ##f.close() # 제너레이.. 2025. 5. 31.
Python 이터레이터 class TimeIterator: SECONDS_IN_DAY = 24 * 60 * 60 # 하루 86400초 기준으로 계산 def __init__(self, start, stop): self.start = start % self.SECONDS_IN_DAY self.stop = stop % self.SECONDS_IN_DAY self.length = (self.stop - self.start) % self.SECONDS_IN_DAY # 이터레이터 : 메모리 절약, 큰 반복작업시 유용, 코드를 더 깔끔하고 간결하게 def __iter__(self): # 이터레이터 초기화 : 반복 시작시에만 호출 self.cur.. 2025. 5. 31.
Python 메서드 class Time: def __init__(self, hour, minute, second): self.hour = hour self.minute = minute self.second = second @staticmethod def is_time_valid(time_string): hour,minute,second = map(int,time_string.split(':')) return hour 2025. 5. 31.
Python 제너레이터 def countdown(n): a = n+1 def count(): nonlocal a a -= 1 return a return countn = int(input())c = countdown(n)for i in range(n): print(c(), end=' ')##IDLE에서 여러 줄 주석을 편하게 다는 법##메뉴에서 Format > Comment Out Region 클릭 (또는 Alt + 3 단축키)##주석 해제 : Alt + 4##다른 툴에서는 Ctrl+/##제너레이터란?##일반 함수처럼 생겼지만, 값을 return 하지 않고 yield를 사용해 하나씩 반환합니다.##값을 하나 생성하고 멈췄다가, 다음 호출 때 이어서 다시 실행됩니다.##.. 2025. 5. 31.
Python 튜플과 딕셔너리 korean, english, mathematics, science = map(int, input().split())def get_min_max_score(*arg): return min(arg),max(arg)def get_average(**arg): # 이 경우에는 인수를 키워드 인수로 넣고 있으므로 **를 써야한다. return sum(arg.values())/len(arg)min_score, max_score = get_min_max_score(korean, english, mathematics, science)average_score = get_average(korean=korean, english=english, mathematics=.. 2025. 5. 31.
Python 공약수 구하기 x,y = map(int,input().split())a = set(i for i in range(1,x+1) if x%i == 0) b = set(i for i in range(1,y+1) if y%i == 0)divisor = a & b result = 0if type(divisor) == set: result = sum(divisor) print(result) a = set(i for i in range(1, x+1) if x % i == 0) b = set(i for i in range(1, y+1) if y % i == 0) a: x의 모든 약수를 집합으로 저장b: y의 모든 약수를 집합으로 저장divisor = a & b a와 b의 교집합을 구합니다. 즉, x와 y의 공약수 집합입니다... 2025. 5. 31.
python 프로젝트 시작 전 봐두면 좋은 글 x = input().split(';')x = [int(i) for i in x] #리스트의 각 요소를 정수형으로 변환x.sort(reverse=True) #내림차순 정렬. 기본은 오름차순for num in x: print('%9s' % format(num,',')) #format형식을 이렇게 하면 ,로 천단위마다 표시함# 코드 간략화x = list(map(int, input().split(';')))x.sort(reverse=True)for num in x: print(f"{num:>9,}")=> 어떤 식으로 코드를 작성해야 코드를 좀더 효율적으로 작성할 수 있는지, 어떤 코드가 더 파이썬 다운 코드인지 항상 생각할 것!with open("words.txt",'r') as file: .. 2025. 5. 29.
Python 지뢰찾기 게임 x,y = map(int,input().split())matrix = []for i in range(x): matrix.append(list(input()))for i in range(x): for j in range(y): if matrix[i][j] == '.': num=0 for k in range(i-1,i+2): for l in range(j-1,j+2): if (03 3.***...*.2***432*1 2025. 5. 29.
Python으로 그림 그리기 import turtle as t n = 60 # 원을 60번 그림t.shape('turtle')t.speed('slow') # 거북이 속도를 가장 빠르게 설정for i in range(n): t.circle(120) # 반지름이 120인 원을 그림 t.right(360 / n) 실행시키면 Python Turtle Graphics 화면이 뜨면서 거북이가 그림 그리는 것을 볼 수 있다.* 프로그램 이름이 turtle 이라서 거북이 모양은 뜨는데, 고양이 모양은 지원하지 않는다. [ Python으로 별 그리기 ]import turtle as tn, line = map(int, input().split())t.shape('turtle')t.color('#da11ff')t... 2025. 5. 29.
반응형