▶ 문제 1. input 함수는 프로그램 사용자가 입력한 내용을 문자열의 형태로 반환한다는 사실을 본문에서 설명하였다. 따라서 이를 근거로 다음의 실행 흐름을 보이는 예를 작성해보자. (아래의 실행 흐름에서 12와 34는 프로그램 사용자가 입력한 값이다.)
>>>________________ 첫 번째 입력 : 12 >>>________________ 두 번째 입력 : 34 >>>_________________ 세 번째 입력 : 1234
위의 실행 흐름에서는 프로그램 사용자가 12와 34를 입력하였다. 그리고 이 둘을 합쳐 1234라는 결과를 만들어서 이를 출력하였다. 자! 그럼 이러한 실행 흐름이 진행되도록 위의 빈 공간을 채워보자.
[3-2. 입력받은 내용을 숫자로 바꾸려면]
1) input 함수 : 수(실수 또는 정수)가 아닌 오직 문자열로
2) This year에 2020을 집어넣겠음
3) eval : 문자를 수로 변환시켜주는 함수, 즉 2020이 수로 변환됨
4) 내년은 year에 1을 더하라는 함수를 입력, Next year을 나타내라
input과 eval을 함께 쓰는게 더 보편적이고 편리한 방법
<연습문제 03-2>
▶ 문제 2. eval 함수와 input 함수를 잘 묶어서 사용하면 프로그램 사용자로부터 산술 연산이 가능한 '수'를 입력 받을 수 있음에 대해 본문에서 설명하였다. 따라서 이를 근거로 다음의 실행 흐름을 보이는 예를 작성해보자. (아래에서 1.24와 3.12는 프로그램 사용자가 입력한 값이다.)
>>>___________________ 첫 번째 입력 : 1.24 >>>___________________ 두 번째 입력 : 3.12 >>>___________________ 세 번째 입력 : 4.36
위의 실행 흐름에서는 프로그램 사용자가 입력한 두 실수 1.24와 3.12를 대상으로 산술 덧셈이 진행 되었음을 알 수 있다. 그럼 이러한 결과를 보이도록 위의 빈 공간을 채워보자.
[3-3. 강력한 그러나 위험할 수 있는 eval 함수]
1. 굉장히 위험한 함수 eval
1) 프로그래머가 1번을 누르면 a가 나오고, 2번을 누르면 b가 나오고, 3번을 누르면 c가 나온다고 프로그래밍 한 상황.
2) eval 함수를 쓰게 되면 1번을 누를 때 자기 맘대로 해석하고, 분석하고, 계산해서 d나 e를 불러올 가능성이 있음
3) 즉, 프로그래머가 의도하지 않게 호출될 수 있음 (해킹, 버그 등)
[3-4. 정해진 횟수만큼 반복해서 실행시키기]
>>> sum = 0 >>> for I in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + I >>> print(sum) 55
<연습문제 03-3>
▶ 문제 1. 1, 3, 5, 7, 9의 합을 계산해서 그 결과를 출력하는 코드를 for 루프를 기반으로 작성해보자.
▶ 문제 2. 1부터 10까지의 곱의 결과를 계산해서 그 결과를 출력하는 코드를 for 루프를 기반으로 작성해보자.
▶ 문제 3. 구구단에서 7단 전부를 출력하는 코드를 for 루프를 기반으로 작성해보자.
▶ 문제 4. 구구단 7단을 전부 출력하되, 거꾸로 (7 x 9 = 63) 출력하는 for 루프를 기반으로 작성해보자.