|
2853 | 2853 | "칸 이동을 13 뿐만 아니라 임의의 수만큼 진행하는 암호화 기법을 실행하는 `rot()` 함수를 구현하라.\n", |
2854 | 2854 | "\n", |
2855 | 2855 | "- 두 개의 매개변수 `char`와 `turn` 사용\n", |
2856 | | - "- `char`는 영어 대문자 알파벳을 위치 인자로 받고, `turn`은 칸의 이동 횟수를 키워드 인자로 받음. 기본 키워드 인자는 13.\n", |
2857 | | - "- 반환값은 `encrypted` 변수가 가리키는 값. 인자로 지정된 대문자 알파벳을 `turn`만큼 이동시켰을 때의 알파벳을 가리켜야 함.\n", |
2858 | | - "- 단, `turn`이 1보다 작거나 25보다 크면 칸 이동을 하지 않아야 함." |
| 2856 | + "- `char`는 영어 대문자 알파벳을 위치 인자로 받고, `turn`은 칸의 이동 횟수를 키워드 인자로 받음. 기본 키워드 인자는 13. 단, `turn`이 1보다 작거나 25보다 크면 칸 이동을 하지 않아야 함.\n", |
| 2857 | + "- 반환값은 `encrypted` 변수가 가리키는 값. 인자로 지정된 대문자 알파벳을 `turn`만큼 이동시켰을 때의 알파벳을 가리켜야 함." |
2859 | 2858 | ] |
2860 | 2859 | }, |
2861 | 2860 | { |
|
2883 | 2882 | "반환값은 `rot13()` 경우와 동일하게 암호화된 알파벳을 가리키는 `encrypted` 변수로 지정한다.\n", |
2884 | 2883 | "다만 `encrypted` 변수의 정의를 정수 13이 아닌 `turn` 변수를 이용해야 한다.\n", |
2885 | 2884 | "\n", |
2886 | | - "먼저 `1 <= turn <= 25`이 성립하지 않으면 `encrypted`에 `char`을 그대로 할당한다.\n", |
2887 | | - "만약 해당 조건이 성립하면 아래 내용을 참고해서 함수를 작성한다.\n", |
| 2885 | + "먼저 `1 <= turn <= 25`이 성립하지 않으면 바로 `char`을 반환하도록 한다.\n", |
| 2886 | + "그리고 해당 조건이 성립하면 아래 내용을 참고해서 함수를 작성한다.\n", |
2888 | 2887 | "\n", |
2889 | 2888 | "- 영어 대문자의 유니코드 범위는 65(`'A'`)부터 90(`'Z'`)까지다.\n", |
2890 | 2889 | "- 원래 문자의 유니코드 포인트에 `turn`만큼 더했을 때 90을 넘어간다면, \n", |
|
2902 | 2901 | "def rot(char, turn=13):\n", |
2903 | 2902 | " # turn이 1 이상 25 이하가 아닐 때는 원래 문자를 반환\n", |
2904 | 2903 | " if not (1 <= turn <= 25):\n", |
2905 | | - " encrypted = char\n", |
| 2904 | + " return char\n", |
2906 | 2905 | "\n", |
2907 | 2906 | " # 문자를 이동시켰을 때 Z(90)를 넘어가는지 확인\n", |
2908 | 2907 | " if ord(char) + turn <= 90:\n", |
|
2923 | 2922 | }, |
2924 | 2923 | { |
2925 | 2924 | "cell_type": "code", |
2926 | | - "execution_count": 15, |
| 2925 | + "execution_count": 3, |
2927 | 2926 | "metadata": {}, |
2928 | 2927 | "outputs": [ |
2929 | 2928 | { |
|
2949 | 2948 | }, |
2950 | 2949 | { |
2951 | 2950 | "cell_type": "code", |
2952 | | - "execution_count": 14, |
| 2951 | + "execution_count": 4, |
2953 | 2952 | "metadata": {}, |
2954 | 2953 | "outputs": [ |
2955 | 2954 | { |
|
2975 | 2974 | }, |
2976 | 2975 | { |
2977 | 2976 | "cell_type": "code", |
2978 | | - "execution_count": 16, |
| 2977 | + "execution_count": 5, |
2979 | 2978 | "metadata": {}, |
2980 | 2979 | "outputs": [ |
2981 | 2980 | { |
2982 | 2981 | "name": "stdout", |
2983 | 2982 | "output_type": "stream", |
2984 | 2983 | "text": [ |
2985 | 2984 | "A 미이동: A\n", |
2986 | | - "U 미이동: V\n" |
| 2985 | + "U 미이동: U\n" |
2987 | 2986 | ] |
2988 | 2987 | } |
2989 | 2988 | ], |
|
0 commit comments