카테고리 없음

03장. 프로그램 사용자로부터의 입력 그리고 코드의 반복

아린// 2021. 7. 6. 11:56

[3-1. 프로그램 사용자로부터 입력받기]

 

  <연습문제 03-1>

▶ 문제 1. input 함수는 프로그램 사용자가 입력한 내용을 문자열의 형태로 반환한다는 사실을 본문에서 설명하였다. 따라서 이를 근거로 다음의 실행 흐름을 보이는 예를 작성해보자. (아래의 실행 흐름에서 12와 34는 프로그램 사용자가 입력한 값이다.)

>>>________________
첫 번째 입력 : 12
>>>________________
두 번째 입력 : 34 
>>>_________________
세 번째 입력 : 1234

위의 실행 흐름에서는 프로그램 사용자가 12와 34를 입력하였다. 그리고 이 둘을 합쳐 1234라는 결과를 만들어서 이를 출력하였다. 자! 그럼 이러한 실행 흐름이 진행되도록 위의 빈 공간을 채워보자. 


 

 

[3-2. 입력받은 내용을 숫자로 바꾸려면]

 1) input 함수 : (실수 또는 정수)가 아닌 오직 문자열로

 2) This year2020을 집어넣겠음

 3) eval : 문자를 수로 변환시켜주는 함수, 2020이 수로 변환됨

 4) 내년은 year1을 더하라는 함수를 입력, Next year을 나타내라

 

inputeval을 함께 쓰는게 더 보편적이고 편리한 방법

 

<연습문제 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 루프를 기반으로 작성해보자. 

 

[3-5. for.. in..과 range의 조합]

- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] vs range(1, 11)