본문 바로가기

Python_Matter

(328)
1025 : [기초-입출력] 정수 1개 입력받아 나누어 출력하기 Q> 다섯 자리의 정수 1개를 입력받아 각 자리별로 나누어 출력한다. 참고 scanf("%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e); 를 사용하면 1개의 숫자로 각각 구분되어 저장된다. 예시 읽어들인 값을 적당히 바꿔 출력하기 위해서 printf("[%d]", a*10000); 과 같은 방법도 가능하다. 입력 다섯 자리로 이루어진 1개의 정수를 입력받는다. (단, 10,000 n=input() print("["+str(int(n[0])*10000)+"]") print("["+str(int(n[1])*1000)+"]") print("["+str(int(n[2])*100)+"]") print("["+str(int(n[3])*10)+"]") print("["+str(int(n[4]))+..
1024 : [기초-입출력] 단어 1개 입력받아 나누어 출력하기 Q> 단어를 1개 입력받는다. 입력받은 단어(영어)의 각 문자를 한줄에 한 문자씩 분리해 출력한다. 참고 C언어에서는 문장을 저장하기 위해 특별한 방법을 사용하지 않고, 배열이라는 연속된 공간에 문자들을 연속으로 한 개씩 저장하는 방법을 사용한다. 단, 문자열(문자가 연속적으로 연결된 줄이라는 의미. 즉 문장)의 마지막임을 나타내기 위해 문자열의 마지막에 널(NULL) 문자라는 특별한 의미를 가지는 문자를 삽입해 문장임을 나타낸다. 널(NULL)은 영어 단어 자체의 의미로는, 아무런 가치가 없는 또는 아무것도 없는, 사용되지 않은 등의 의미를 가지는데, 문자로는 '\0', 아스키문자의 정수값은 0을 의미하며 NULL 로도 사용할 수 있다. 단어나 문장을 scanf("%s", ...); 로 입력받게 되면,..
1023 : [기초-입출력] 실수 1개 입력받아 부분별로 출력하기 Q> 실수 1개를 입력받아 정수 부분과 실수 부분으로 나누어 출력한다. ** 여러 가지 방법들로 해결할 수 있다. 만약 실수 부분이 0으로 시작하지 않는다면(예를 들어 1.000009) scanf("%d.%d", &a, &b)도 하나의 방법이 될 수 있다. 입력 실수 1개가 입력된다. (단, 입력값은 절댓값이 10000을 넘지 않으며, 소수점 이하 자릿수는 최대 6자리까지이고 0이 아닌 숫자로 시작한다.) 출력 첫 번째 줄에 정수 부분을, 두 번째 줄에 실수 부분을 출력한다. A> float_n1, float_n2 = input().split('.') print(int(float_n1)) print(float(float_n2)) A1> a,b=input().split('.') print(int(a)) p..
1022 : [기초-입출력] 문장 1개 입력받아 그대로 출력하기 Q> 공백 문자가 포함되어 있는 문장을 입력받고 그대로 출력하는 연습을 해보자. 예시 char data[2001]; fgets(data, 2000, stdin); printf("%s", data); 위와 같이 실행하면 공백이 포함된 문장을 키보드(stdin)로 입력받아 최대 2000자까지 data[ ] 공간에 저장하고 출력할 수 있다. %s 는 문자열(string, 실로 연결된 문자들. 문장)로 출력하라는 의미이다. 참고 fgets( ) 를 사용하면 공백문자가 포함되어잇는 문장을 입력받아 저장할 수 있다. 만약, 아래처럼 scanf("%s", ... ) 를 이용해 문장을 입력받으면, 첫 번째 단어까지만 저장된다. char data[51] = ""; //최대 50문자까지 저장 가능 scanf("%s", d..
1021 : [기초-입출력] 단어 1개 입력받아 그대로 출력하기 Q> 1개의 단어를 입력받아 그대로 출력해보자. 입력 한 단어가 입력된다.(단, 단어의 길이는 50자 이하이다.) 문자를 50개 저장하기 위해서는 char data[51] 로 선언하면 된다. char data[51]=""; scanf("%s", data); 를 실행하면, data[51] 에 한 단어가 저장된다. 출력 입력된 단어를 그대로 출력한다. A> chr = input() print(chr) A1> a=input() print(a) W> input에 가장 기본 타입은 str이다. #> admin, 2019년 9월 29일, http://codeup.kr
1020 : [기초-입출력] 주민번호 입력받아 형태 바꿔 출력하기 Q> 주민번호는 다음과 같이 구성된다. XXXXXX-XXXXXXX 앞의 6자리는 생년월일(yymmdd)이고 뒤 7자리는 성별, 지역, 오류검출코드이다. 주민번호를 입력받아 형태를 바꿔 출력해보자. 입력 주민번호 앞 6자리와 뒷 7자리가 '-'로 구분되어 입력된다. (입력값은 가상의 주민번호이다.) ex)110011-0000000 출력 '-'를 제외한 주민번호 13자리를 모두 붙여 출력한다. A> code1, code2 = input().split('-') print(code1 + code2) A1> a,b=input().split('-') print(a+b) W> 기준점 -로 나누고 연산자 + 로 합친다. #> admin, 2019년 9월 29일, http://codeup.kr
1019 : [기초-입출력] 연월일 입력받아 그대로 출력하기 Q> 년, 월, 일을 입력받아 지정된 형식으로 출력하는 연습을 해보자. 입력 연, 월, 일이 ".(닷)"으로 구분되어 입력된다. 출력 입력받은 연, 월, 일을 yyyy.mm.dd 형식으로 출력한다. (%02d를 사용하면 2칸을 사용해 출력하는데, 한 자리 수인 경우 앞에 0을 붙여 출력한다.) A> year, mon, day = input().split('.') print(year.zfill(4) + '.' + mon.zfill(2) + '.' + day.zfill(2)) A1> a,b,c=input().split('.') print('%04d' % int(a), end='.') print('%02d' % int(b), end='.') print('%02d' % int(c)) W> 형식에 맞추어 출력하는..
1018 : [기초-입출력] 시간 입력받아 그대로 출력하기 Q> 어떤 형식에 맞추어 시간이 입력될 때, 그대로 출력하는 연습을 해보자. 참고 scanf( ) 함수는 지정한 형식(format)에 따라 입력받는 함수이다. 따라서, 입력받고자 하는 형식으로 표현해주면 된다. 예시 scanf("%d:%d", &h, &m); //콜론(:) 기호를 기준으로 두 수가 각 변수에 저장된다. 입력 시(hour)와 분(minute)이 ":" 으로 구분되어 입력된다. 출력 입력받은 시간을 "시:분" 형식으로 출력한다. A> hour, min = input().split(':') print(hour + ':' + min) A1> h,m=input().split(':'); print(int(h), int(m), sep=':'); W> 중요한 점은 split 기준점을 무엇으로 할지 생각..