Difference between r1.8 and the current
@@ -68,7 +68,7 @@
#!/usr/bin/env python3
import sys, re
"-u": string.upper(),
"-l": string.lower(),
import sys, re
def switch(x, string):
def switch(x):
return {"-r": string[::-1],"-u": string.upper(),
"-l": string.lower(),
@@ -86,7 +86,7 @@
else:
option, string = input().split()
= 기타 / 후기 / 방명록 =
* 앗 오늘은 4월3일이잖아 - [성훈|멍청한 튜터]
option, string = input().split()
print(switch(option, string)[option])
print(switch(option)[option])
}}}= 기타 / 후기 / 방명록 =
* 앗 오늘은 4월3일이잖아 - [성훈|멍청한 튜터]
1. 예정 ¶
- 포인터(pointer)
- 포인터 타입, 다중 포인터, 포인터 연산, void*
- pointer as parameter
- 배열 타입(recall)
- 배열과 포인터의 관계
- pointer to arrays, array of pointers
- 프로그램 인자(argument) : int argc, char *argv[]
- pointer to arrays, array of pointers
- 포인터 타입, 다중 포인터, 포인터 연산, void*
- 동적 메모리 할당(dynamic allocation)
- 프로세스 구조
- void* malloc(size_t)
- void free(void*)
- calloc, realloc
- 프로세스 구조
- 문자열
- C에서의 문자열 : null-terminated string
- string.h
- strlen, strcmp, strchr, strstr, strcpy, strcat, strtok
- sscanf, sprintf
- strlen, strcmp, strchr, strstr, strcpy, strcat, strtok
- C에서의 문자열 : null-terminated string
- 함수 포인터
- void qsort(void*, void*, size_t, int(*)(void*, void*))
- void qsort(void*, void*, size_t, int(*)(void*, void*))
- 실습
- simpleformatter : 간단한 문자열 처리
simpleformatter <option> <string>
<option>
:
-r : 문자열 뒤집기 -u : 소문자를 대문자로 -l : 대문자를 소문자로 -a : 알파벳만 남기기 -n : 숫자만 남기기
- 인자가 없을 경우 : 사용자 입력을 받아 처리
- '-'가 있는 경우와 없는 경우 모두 처리해야함
- 옵션만 있으면, 문자열만 입력 받을것
- '-'가 있는 경우와 없는 경우 모두 처리해야함
- simpleformatter : 간단한 문자열 처리
3. 실습 ¶
- 과제_승진
import sys import re try : option = sys.argv[1] s_data = str(sys.argv[2]) except : option = input() s_data = input() if option == '-r' : print(s_data[::-1]) elif option == '-u' : print(s_data.upper()) elif option == '-l' : print(s_data.lower()) elif option == '-a' : print("".join(re.findall(r'^|[a-zA-Z]', s_data))) elif option == '-n' : print("".join(re.findall('\d+', s_data)))
- 과제_창성
#!/usr/bin/env python3 import sys, re def switch(x): return {"-r": string[::-1], "-u": string.upper(), "-l": string.lower(), "-a": re.sub('[0-9]','',string), "-n": re.sub('[^0-9]','',string)} if(len(sys.argv) == 3): option = sys.argv[1] string = sys.argv[2] elif(len(sys.argv) == 2): option = sys.argv[1] string = input() else: option, string = input().split() print(switch(option)[option])