>>본문<<

 

오늘의 단어

injure / involve / adjacent / stationary / freight

 

injure

1. (특히 사고로) 부상을 입다[입히다]

2. (평판·자존심 등을) 해치다[손상시키다]

 

예문

At least 261 people have been killed and 1,000 are injured in a crash involving three trains in India's eastern Odisha state.

인도 동부 오디샤 주에서 열차 3대가 연루된 충돌로 최소 261명의 사람들이 죽고 1000명이 부상을 입었다.

 

This could seriously injure the company’s reputation.

이것은 회사의 평판을 심각하게 손상시킬 수 있다.

 

 

involve

1. (중요 요소로·필연적으로) 수반[포함]하다

2. (상황·사건·활동이 사람을) 관련[연루]시키다

3. 참여시키다

 

예문

Both passenger trains involved in the crash were full and had many more people on the waiting list, according to passenger lists on the Indian rail ministry website reviewed by the BBC.

BBC가 평론한 인도 철도부 웹사이트의 승객 목록에 따르면 충돌에 관련된 두 여객열차가 만원이었고 대기자 명단에 많은 사람들이 있었다.

 

I prefer teaching methods that actively involve students in learning.

나는 학생들이 학습에 적극적으로 참여하는 방법을 선호한다.

 

 

adjacent

인접한, 가까운

 

예문

One passenger train derailed on to the adjacent track and was struck by an incoming train on Friday, also hitting a nearby stationary freight train.

금요일 한 승객열차가 인접한 선로에 탈선되어 들어오던 열차와 충돌하였고, 또한 근처에 정차한 화물 열차를 덮쳤다.

 

They lived in a house adjacent to the railway.

그들은 철도와 가까운 집에서 살았다.

 

 

stationary

1. 움직이지 않는, 정지된

2. 변하지 않는, 비유동적인

 

예문

Officials say several carriages from the Coromandel Express, travelling between Kolkata and Chennai, derailed at about 19:00 (13:30 GMT) in Balasore district after hitting a stationary goods train.

공식에서는 코로만델 급행열차의 몇몇 열차들이 콜카타와 첸차이 사이를 오가던 중, 19시(GMT 13시 30분) 발라소르 지역에서 탈선된 후, 정차한 화물열차를 덮쳤다.

 

House prices have been stationary for months.

집값이 몇 달째 변하지 않고 있다.

 

 

freight

1. 화물, 화물 운송

2. 화물을 보내다[운송하다]

3. (특정한 분위기나 어조를 가득) 담다[싣다]

 

예문

The ship carries both freight and passengers.

그 배는 화물과 승객 모두 실어 나른다.

 

Grapes from this region are freighted all over the world.

이 지역 포도는 전 세계로 운송된다.

 

 

오늘의 단어

amid / thrifty / integrate / experience / mere

 

 

amid

1. 가운데[중]에

2. …으로 에워싸인

 

예문

He finished his speech amid tremendous applause.

그는 엄청난 갈채 속에서 연설을 마쳤다.

 

He came on stage amid clapping and cheering.

박수와 환호 속에 그가 무대로 나왔다.

 

 

thrifty

절약[검약]하는

 

예문

My mother taught me to be thrifty.

어머니는 나에게 절약하라고 가르치셨다.

 

He made a lot of money by living a thrifty life and known as a rich man.

그는 검약하는 삶으로 돈을 많이 벌었고 부자로 알려졌다.

 

 

integrate

통합시키다[되다]

 

예문

Python is a programming language that lets you work quickly and integrate systems more effectively.

파이썬은 당신이 더 빠르게 작업하고 더욱 효과적으로 시스템을 통합시킬 수 있는 프로그래밍 언어이다.

 

These programs will integrate with your existing software.

이 프로그램은 당신이 기존에 가지고 있는 소프트웨어와 통합될 것이다.

 

They have not made any effort to integrate with the local community.

그들은 지역 사회에 통합되려는 조금의 노력도 하지 않았다.

 

 

experience

1. 경험[경력]

2. 겪다, 경험하다

3. 느끼다

 

예문

Whether you're new to programming or an experienced developer, it's easy to learn and use Python.

당신이 처음 프로그래밍을 하든 경험이 있는 개발자든, 파이썬을 배우고 사용하는 것은 쉽다.

 

My first parachute jump was an exhilarating experience.

나의 첫 낙하선 점프는 매우 신나는 경험이었다.

 

 

mere

겨우 …의, (한낱) …에 불과한, 단지 …만의

 

예문

It took her a mere 20 minutes to win.

그녀가 이기는데는 겨우 20분 밖에 걸리지 않았다.

 

He seemed so young, a mere boy.

그는 너무나 어린 소년에 불과해 보였다.

 

The mere fact that they were prepared to talk was encouraging.

단지 그들이 이야기할 준비가 되어 있다는 사실만으로도 힘이 났다.

 

 

오늘의 단어

refer / identify / define / censure / interpret

 

 

refer

1. 알아보도록 하다, 조회하다, 조사하다

2. 참조[참고]하다

3. 지시하다, 주목시키다

 

reference

1. 말하기, 언급

2. 찾아봄, 참조, 참고

 

예문

He used some derogatory language to refer to the employee.

그는 종업원에게 지시하는데 비하하는 말을 사용했다.

 

While the nature of the violence referenced was different from Chicago, the controversy it generated was much the same.

시카고와 언급되는 폭력성이 다르지만, 논란을 일으키는 것은 같았다.

 

He identifies 745, a 2006 track in which Atlanta rapper Gucci Mane purportedly referenced an incident where he shot and killed someone, as the first ever drill song.

그는 2006년 아틀랜타 래퍼인 구찌 마네가 누군가를 총으로 쏴서 살해한 사건을 참고하였다고 알려진 745를 최초의 드릴 노래라고 확인했다.

 

 

identify

1. 확인하다, 알아보다

2. 찾다, 발견하다

3. 알아보게 하다, 인정하게 하다

 

예문

The family of the missing girl has been called in by the police to identify the body.

실종된 소녀의 가족이 시신을 확인해 달라는 경찰의 부름으로 와 있었다.

 

She was able to identify her attacker.

그녀는 그녀를 공격한 범인을 알아볼 수 있었다.

 

 

 

 

define

정의하다, 규정하다, 분명히 밝히다

 

예문

It is difficult to define the border between love and friendship.

사랑과 우정 사이의 경계를 규정하기는 어렵다.

 

It is difficult to define what makes him so popular.

무엇이 그를 유명하게 만든지를 분명히 밝히기 어렵다.

 

 

censure

질책[비난](하다)

 

예문

Commentators called on record labels to drop rappers who encouraged violence, echoing the censure of gangsta rap in the 1980s and 90s.

논평가들은 1980년, 90년대 폭력을 조장하는 갱스터 랩을 비난하며 래퍼들을 제거하기 위해 음반사에 요청했다.

 

He became the focus of a public censure.

그는 대중들의 비난의 대상이 되었다.

 

 

interpret

설명[해석/이해]하다, 통역하다

 

예문

He stresses the need for nuance in how lyrics are interpreted.

그는 가사를 어떻게 해석하느냐에 따라 뉘양스가 다르다는 것을 강조했다.

 

She couldn’t speak much English so her children had to interpret for her.

그녀는 영어를 잘 할 줄 몰라서 그녀의 자녀들이 통역 해 주어야 했다.

 

 

Self Study

9-1 Code09-03.py를 수정해서 커피 종류를 아메리카노, 카페라떼, 카푸치노, 에스프레소 중 하나를 선택할 수 있도록 하자. 그리고 로제, 리사, 지수, 제니라는 손님 4명의 주문을 받아 보자.

출력 결과
로제씨, 어떤 커피 드릴까요?(1:아메리카노, 2:카페라떼, 3:카푸치노, 4:에스프레소) 4
#1. (자동으로) 뜨거운 물을 준비한다.
#2. (자동으로) 종이컵을 준비한다.
#3. (자동으로) 에스프레소를 탄다.
#4. (자동으로) 물을 붓는다.
#5. (자동으로) 스푼으로 젓는다.
로제씨~ 커피 여기 있습니다.
… 생략 …

 

더보기

답 :

## 전역 변수 선언 부분 ##
coffee = 0

## 함수 선언 부분 ##
def coffee_machine(button) :
    print()
    print("#1. (자동으로) 뜨거운 물을 준비한다.");
    print("#2. (자동으로) 종이컵을 준비한다.");

    if coffee == 1 :
        print("#3. (자동으로) 아메리카노를 탄다.")
    elif coffee == 2 :
        print("#3. (자동으로) 카페라떼를 탄다.")
    elif coffee == 3 :
        print("#3. (자동으로) 카푸치노를 탄다.")
    else :
        print("#3. (자동으로) 에스프레소를 탄다.")

    print("#4. (자동으로) 물을 붓는다.");
    print("#5. (자동으로) 스푼으로 젓는다.");
    print()
        
## 메인 코드 부분 ##
coffee = int(input("로제씨, 어떤 커피 드릴까요?(1:아메리카노, 2:카페라떼, 3:카푸치노, 4:에스프레소)"))
coffee_machine(coffee)
print("로제씨~ 커피 여기 있습니다.")

coffee = int(input("리사씨, 어떤 커피 드릴까요?(1:아메리카노, 2:카페라떼, 3:카푸치노, 4:에스프레소)"))
coffee_machine(coffee)
print("리사씨~ 커피 여기 있습니다.")

coffee = int(input("지수씨, 어떤 커피 드릴까요?(1:아메리카노, 2:카페라떼, 3:카푸치노, 4:에스프레소)"))
coffee_machine(coffee)
print("지수씨~ 커피 여기 있습니다.")

coffee = int(input("제니씨, 어떤 커피 드릴까요?(1:아메리카노, 2:카페라떼, 3:카푸치노, 4:에스프레소)"))
coffee_machine(coffee)
print("제니씨~ 커피 여기 있습니다.")

 

9-2 Code09-05.py에 다음 기능을 추가해 보자.

① 숫자1, 연산자, 숫자2 순서로 입력받는다.

② 제곱(**) 연산자를 추가한다.

③ 0으로 나누려고 하면 메시지를 출력하고 계산되지 않도록 한다.

 

힌트 메인 코드 부분에 if~else 문을 활용한다.

출력 결과
첫 번째 수를 입력하세요 : 2
계산을 입력하세요(+, -, *, /, **) : ** 
두 번째 수를 입력하세요 : 4
## 계산기 : 2 ** 4 = 16
출력 결과
첫 번째 수를 입력하세요 : 8
계산을 입력하세요(+, -, *, /, **) : /
두 번째 수를 입력하세요 : 0
0으로는 나누면 안 됩니다.ㅠㅠ

 

더보기

답 :

## 함수 선언 부분 ##
def calc(v1, v2, op) :
    result = 0
    if op == '+' :
        result = v1 + v2
    elif op == '-' :
        result = v1 + v2
    elif op == '*' :
        result = v1 * v2
    elif op == '/' :
        result = v1 / v2
    elif op == '**' :
        result = v1 ** v2

    return result

## 전역 변수 선언 부분 ##
res = 0
var1, var2, oper = 0, 0, ""

## 메인 코드 부분 ##
var1 = int(input("첫 번째 수를 입력하세요 : "))
oper = input("계산을 입력하세요(+, -, *, /, **) : ")
var2 = int(input("두 번째 수를 입력하세요 : "))

if var2 == 0 :
    print("0으로는 나누면 안 됩니다.ㅠㅠ")

res = calc(var1, var2, oper)

print("## 계산기 : %d %s %d = %d"%(var1, oper, var2, res))

 

9-3 Code09-11.py에서 2에서 10개까지 몇 개를 매개변수로 사용하든지 합계를 구하도록 para_func() 함수를 수정해 보자.

출력 결과
매개변수가 2개인 함수를 호출한 결과 ==> 30

매개변수가 10개인 함수를 호출한 결과 ==> 550

 

더보기

답 :

## 함수 선언 부분 ##
def para_func(v1, v2, v3 = 0, v4 = 0, v5 = 0, v6 = 0, v7 = 0, v8 = 0, v9 = 0, v10 = 0) :
    result = 0
    result = v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10
    return result

## 전역 변수 선언 부분 ##
hap = 0

## 메인 코드 부분 ##
hap = para_func(10, 20)
print("매개변수가 2개인 함수를 호출한 결과 ==> %d" % hap)
hap = para_func(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
print("매개변수가 10개인 함수를 호출한 결과 ==> %d" % hap)

 

연습문제

1. 다음 함수의 설명 중, 거리가 먼 것을 모두 고르세요.

① 함수는 뒤에 함수명( ) 처럼 뒤에 괄호 또는 함수명[ ] 처럼 뒤에 대괄호가 붙는다.

② print("값") 처럼 괄호 안에 데이터를 전달할 수 있다.

③ 파이썬은 자체 함수는 제공하지 않지만, 필요시 사용자가 직접 만들어서 사용할 수 있다.

④ 함수의 사용을 위해서 내부 작동을 꼭 알아야 할 필요는 없다. 함수에 전달하는 값과 어떤 작동만 하는지 정도만 알면 함수의 사용에는 문제가 없다.

 

더보기

답 : 1, 3

해설 : 1번 함수명[ ] 처럼 대괄호가 붙는 것은 리스트나 배열이다. 3번 파이썬은 자체 함수를 제공하고 있다.

 

2. 다음 빈칸에 들어갈 것을 쓰세요.

함수는 [      ①     ]를 입력받은 후에, 그 [     ①     ]를 가공해서 [      ②     ]을 돌려줍니다. 커피 자판기의 예를 들면 동전 및 버튼 입력이 [      ①     ]이고, 그 결과 나오는 커피가 [     ②     ]입니다.

 

더보기

답 : ① 매개변수     ② 반환값

 

3. 다음 코드에서 빈칸을 채우세요.

def plus(     ①     ) :
	result = 0
    result = v1 + v2 + v3
    [     ②     ]
    
   hap = plus(100, 200, 300)
   print(hap)

 

더보기

답 : ① v1, v2, v3     ② return result

 

4. 다음에서 출력되는 값을 예상해 보세요.

def f1() :
    print(var)

    
def f2() :
    var = 10
    print(var)

    
var = 100
f1()
f2()

 

더보기

답 : 100, 10

 

5. 함수의 반환값에 관련된 내용입니다. 거리가 먼 것을 모두 고르세요.

① 반환값은 반드시 1개 이상 있어야 한다.

② 반환값은 2개일 수도 있다.

③ 반환값이 2개일 경우, 두 반환값의 형식은 동일해야 한다.

④ 반환값이 3개일 경우, 내부적으로 리스트로 묶여서 반환된다.

⑤ 반환값의 개수와 매개변수의 개수는 연관이 없다.

 

더보기

답 : 1, 4

해설 : 1번 반환값을 가지지 않을 수도 있다. 4번 튜플이나 여러 개의 변수로 개별적으로 반환될 수 있다.

 

6. pass 예약어의 의미를 가장 잘 설명한 것을 고르세요.

① 동일한 내용을 반복한다는 의미이다.

② 이후의 코드를 모두 건너뛴다는 의미이다.

③ 그냥 아무것도 하지 않고 비워 놓을 때 사용한다.

④ if 문에서만 사용한다.

 

더보기

답 : 3

 

7. 함수의 매개변수와 관련된 설명입니다. 거리가 먼 것을 모두 고르세요.

① 매개변수는 1개 이상은 있어야 한다.

② 매개변수는 2개일 수도 있다.

③ 매개변수가 2개일 경우, 두 매개변수의 형식은 동일해야 한다.

④ 매개변수가 2개 이상일 경우, 반환값도 2개 이상이어야 한다.

매개변수는 이름만 다르면 개수가 많아도 상관없다.

 

더보기

답 : 1, 3, 4, 5

해설 : 1번 매개변수를 가지지 않을 수도 있다. 3번 매개변수는 각각 독립적으로 자신의 형식을 가질 수 있다. 4번 매개변수의 개수와 반환값의 개수는 연관 없다. 반환값이 없을 수도, 하나일 수도 있다. 5번 매개변수의 이름과 개수가 일치하지 않으면 오류가 발생한다.

 

8. 다음은 3개의 매개변수 중 기본값을 2개 설정하는 코드입니다. 빈칸을 채우세요.

*메일 문의 결과 기본값 2개가 아니라 3개가 맞다고 합니다.

실행 결과
매개변수 없이 호출 ==> 6
매개변수가 1개로 호출 ==> 6
매개변수가 2개로 호출 ==> 6
매개변수가 3개로 호출 ==> 6
def myFunc(     ):
    ret = p1 + p2 + p3
    return ret

print("매개변수 없이 호출 ==> ", myFunc())
print("매개변수가 1개로 호출 ==> ", myFunc(1))
print("매개변수가 2개로 호출 ==> ", myFunc(1, 2))
print("매개변수가 3개로 호출 ==> ", myFunc(1, 2, 3))

 

더보기

답 : p1 = 1, p2 = 2, p3 = 3

 

9. 다음은 모듈 및 패키지에 대한 설명입니다. 거리가 먼 것을 모두 고르세요.

① 모듈은 함수들의 집합으로 볼 수 있다.

② 파이썬은 자체 모듈을 제공하지 않지만, 필요하면 직접 모듈을 만들어서 사용할 수 있다.

③ mod.py 파일을 임포트하려면 import mod 문을 사용하면 된다.

④ 모듈 안의 함수를 호출할 때는 '모듈명[함수명]' 형식을 사용한다.

패키지는 모듈을 모아 놓은 것으로 파일의 형태로 제공된다.

⑥ 패키지는 주로 'from 패키지명. 모듈명 import 함수명'을 사용한다.

 

더보기

답 : 2, 4

해설 : 2번 파이썬은 자체 모듈을 제공하고 있다. 4번 모듈 안의 함수를 호출할 때는 '모듈명.함수명'형식을 사용한다.

 

10. 다음 코드는 오류가 발생합니다. 오류가 발생하는 행을 고르고, 그 이유를 간단히 설명하세요.

def func1(v1,v2) :
    def func2(num1, num2) :
        return num1 + num2
    return func2(v1, v2)

print(func1(100, 200))
print(func2(100, 200))

 

더보기

답 : 7행 print(func2(100, 200)), fuc2 함수가 내부에서 정의되었기 때문이다.

해설 : func2 함수는 func1함수의 지역 범위에만 존재한다. func2 함수를 사용하려면 func1 함수 내에서 호출하거나 전역으로 정의해야한다.

 

11. 1부터 100까지의 합계(=5050)을 구하는 재귀 함수를 사용한 코드입니다. 재귀 함수의 빈칸을 완성하세요.

def addNumber(num) :
    
    
    
    
print(addNumber(100))

 

더보기

답 :

if num <= 1 :
    return num
else :
    return num + addNumber(num-1)

 

12. 재귀 호출 함수를 이용해서 입력한 10진수를 2진수/8진수/16진수로 변환하는 코드를 작성하세요. 재귀 호출 함수는 2진수로 변환하는 base2(숫자), 8진수로 변환하는 base8(숫자), 16진수로 변환하는 base16(숫자) 등 3개 함수를 작성하세요.

실행 결과
10 진수 입력 -->

2진수 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8진수 : 7 7 7 7 7
16진수 : 7 F F F

 

더보기

답 :

def base2(num):
    if num == 0:
        return ''
    else:
        return base2(num // 2) + str(num % 2)

def base8(num):
    if num == 0:
        return ''
    else:
        return base8(num // 8) + str(num % 8)

def base16(num):
    hex_chars = "0123456789ABCDEF"
    if num == 0:
        return ''
    else:
        return base16(num // 16) + hex_chars[num % 16]

dec = int(input("10진수 입력 --> "))

bin = base2(dec)
oct = base8(dec)
hex = base16(dec)

print("2진수: ", bin)
print("8진수: ", oct)
print("16진수: ", hex)

 

 

*주의사항 : 제가 직접 푼 것이므로 틀린 부분이 있을 수 있습니다. 오타나 틀린 부분 지적 환영!

+ Recent posts