(파이썬) 색이 있는 문자열 출력하기

터미널 상에 결과를 찍어주는 간단한 프로그램을 만들 때,  특정 단어나 문장에 색을 넣어 출력하고 싶을 때가 있다. 이를 위한 Colorama 라는 패키지도 따로 있기는 한데, 사실 터미널에서 색을 입혀서 출력하는 것은 ANSI 제어 문자를 이용해서 할 수 있는 부분이라 직접 만들어 보기로 한다.

Whats new in python 3.6

파이썬 3.6에서 달라지는 점 이번주 금요일1에 파이썬 3.6이 발표될 예정이다. 몇 가지 새로워지는 변경사항에 대해 살펴보자. 새 기능들 포맷 문자열 리터럴 str.format()을 사용하던 문자열 포맷팅이 f” … ” 리터럴로 사용할 수 있게 된다. 해당 리터럴 내에서는 { } 내에 현재 스코프의 변수를 이용해서 치환될 수 있다. name = “John” greet = f”He said his name is {name}” print(greet) # “He said his name is John” width = 10 precision = 4 value = decimal.Decimal(“12.34567″) print(f”result: {value: {width}.{precision}}”) # “result: 12.35”

project euler 50

오일러 프로젝트 50 번 41은 소수이면서 다음과 같은 6개의 연속된 소수의 합으로도 나타낼 수 있습니다. 41 = 2 + 3 + 5 + 7 + 11 + 13 이것은 100 이하에서는 가장 길게 연속된 소수의 합으로 이루어진 소수입니다. 1000 이하에서는 953이 연속된 소수 21개의 합으로 가장 깁니다. 1백만 이하에서는 어떤 소수가 가장 길게 연속되는 소수의 합으로 표현될 수 있습니까? http://euler.synap.co.kr/prob_detail.php?id=50 최적화가 매우 중요한 문제이다. 1분 이내에 푸는 방법을 찾기도 꽤 벅찼다.

project euler 48

오일러 프로젝트 48 번 1^1 + 2^2 + 3^3 + … + 10^10 = 10405071317 입니다. 1^1 + 2^2 + 3^3 + … + 1000^1000 의 마지막 10자리 숫자는 무엇입니까? http://euler.synap.co.kr/prob_detail.php?id=48 C나 Java의 경우 숫자값 타입은 크기의 한계가 정해져있기 때문에 이 문제는 크기의 한계가 없는 큰 수를 위한 데이터타입을 따로 만들어서 풀어야 한다. 파이썬의 int 형은 이미 큰 수를 지원하므로… def e48(): print(str(sum((x**x for x in range(1, 1001))))[-10:]) %time e48() #9110846700 #Wall time: 60 ms