[R 실습] 구구단 만들기: 사용자 정의 함수, if 문, for문
숫자를 입력하면 구구단을 출력해주는 함수를 만들어보았습니다.
조건은 아래와 같습니다.
- 입력값은 1~9 사이의 숫자
- 입력값이 위에 해당하지 않는 값이면 "주어진 수치가 부적합합니다. 종료!" 출력
스크립트
jen_multiplier <- function(a){
if(is.double(a) && a%in%c(1:9) ){
print("구구단을 외자~! 구구단을 외자~!")
for (b in 1:9){
multiply <- a*b
print(paste0(a, "*", b, "=", multiply ))
}
} else{
print("주어진 수치가 부적합합니다. 종료!")
}
}
먼저 해당 기능을 가진 내장함수가 없기 때문에 사용자 정의함수를 작성해야합니다.
새롭게 생성되는 함수의 이름을 'jen_multiplier'로, 매개변수를 a로 지정하겠습니다.
사용자 정의함수:
함수명 <- function(매개변수1, 매개변수2, ...) {
함수가 구현할 내용
...
return(결과값)
}
다음은 입력값이 조건에 부합하는지 확인하기 위해 if-else 조건문을 사용하겠습니다.
if-else 조건문:
if(조건) {
조건이 TRUE 일 때 실행되는 구문
} else {
조건이 FALSE 일 때 실행되는 구문
}
입력값 1) a가 숫자형이고, 2) 1에서 9 사이의 값을 동시에 만족하는 조건식을 작성합니다.
1) a가 숫자형인가? => is.double(a)
여기서 is.integer(a)도 넣어봤지만 제대로 인식을 못해서 double로 확장해서 구문을 작성했습니다🥲
근데 다른 분들 쓴거 보니까 이 조건은 없어도 문자형/숫자형 구분 잘 되는 듯..
2) a가 1~9 사이의 값인가? => a %in% 1:9
입력값이 조건 두 개를 모두 만족시킨다면, 해당 값의 구구단을 출력해야합니다.
이때, a*1, a*2, ... a*9까지 곱셈을 연산하는 작업이 반복되므로, for 구문을 사용합니다.
for 문:
for(변수 in 반복 횟수) {
반복 조건만큼 실행되는 구문
}
입력값 a와 곱해지는 값을 b로 지정한 후, b에 1에서 9까지의 숫자를 할당하여 작업을 반복합니다.
=> for(b in 1:9)
입력값 a와 변수 b의 값을 곱하여 'multiply'라는 변수에 할당해 줍니다.
=> multiply <- a*b
그런다음, 해당 식과 'multiply' 값을 print( ) 함수로 출력해줍니다. 이 때, 여러 문자열을 함께 출력하기 위해 paste( ) 함수를 사용합니다.
=> print(paste0(a, "*", b, "=", multiply ))
if 조건문이 참일 때 실행되는 구문이 종료되었습니다.
조건을 만족하지 않을 때 실행되는 구문을 정의하기 위해 else { } 문을 작성해 줍니다.
=> else { print("주어진 수치가 부적합합니다. 종료!") }
실행 결과