WeniVooks

검색

견고한 파이썬

연습문제

1번 문제

다음 코드를 실행하면 출력되는 값을 순서대로 작성해보세요.

a = 'pithon'
 
def 함수1():
    def 함수2():
        print('love')
 
    print('I') # 1번
    함수2() #2번
    return "python" #3번
 
 
a = 함수1()
print(a)
a = 'pithon'
 
def 함수1():
    def 함수2():
        print('love')
 
    print('I') # 1번
    함수2() #2번
    return "python" #3번
 
 
a = 함수1()
print(a)

2번 문제

함수를 이용하여 계산기 프로그램을 만들어주세요.

def plus(num1, num2):
    #이곳을 채워주세요
 
def minus(num1, num2):
    #이곳을 채워주세요
 
def multiply(num1, num2):
    #이곳을 채워주세요
 
def divide(num1, num2):
    #이곳을 채워주세요
 
print(f'plus : {plus(10, 5)}')
print(f'minus : {minus(10, 5)}')
print(f'multiply : {multiply(10, 5)}')
print(f'divide : {divide(10, 5)}')
def plus(num1, num2):
    #이곳을 채워주세요
 
def minus(num1, num2):
    #이곳을 채워주세요
 
def multiply(num1, num2):
    #이곳을 채워주세요
 
def divide(num1, num2):
    #이곳을 채워주세요
 
print(f'plus : {plus(10, 5)}')
print(f'minus : {minus(10, 5)}')
print(f'multiply : {multiply(10, 5)}')
print(f'divide : {divide(10, 5)}')

3번 문제

2번의 해답을 이용하여 a와 b를 더한 값과 a와 b를 뺀 값을 곱하는 함수를 만들어주세요. 아래와 같은 값이 있다면 (2 + 3) * (2 - 3) = -5가 출력이 되어야 합니다.

a = 2
b = 3
# 이 부분에 코드를 작성해주세요.
a = 2
b = 3
# 이 부분에 코드를 작성해주세요.

4번 문제

x의 n제곱을 구하는 함수를 만들어주세요. 재귀함수를 이용하여 만들어야 하며, x는 0이 아닙니다. (x, n > 1)

5번 문제

이 데이터에서 licat을 출력해주세요. 단, 직접 접근은 안됩니다. data[1]로 접근하는 것은 안됩니다.

data = [['weniv CTO binky', 2], ['weniv CEO licat', 1], ['weniv COO mura', 2]]
data = [['weniv CTO binky', 2], ['weniv CEO licat', 1], ['weniv COO mura', 2]]

6번 문제

다음 함수 is_palindrome를 완성하시오. 이 함수는 하나의 문자열을 인자로 받아, 해당 문자열이 앞으로 읽으나 뒤로 읽으나 같은 단어이면 True를, 아니면 False를 반환해야 합니다.

def is_palindrome(s):
    pass
def is_palindrome(s):
    pass

7번 문제

리스트 numbers가 주어졌을 때, 이 리스트 내의 모든 짝수를 제거하는 코드를 작성하시오.

numbers = [2, 3, 4, 5, 6, 7, 8, 9, 10]
# code
print(numbers)  # 결과: [3, 5, 7, 9]
numbers = [2, 3, 4, 5, 6, 7, 8, 9, 10]
# code
print(numbers)  # 결과: [3, 5, 7, 9]

8번 문제

아래 데이터를 두 번째 요소의 문자열 길이를 기준으로 정렬하세요.

data = [
  [2, 'hello world', 30],
  [3, 'hworl', 33],
  [5, 'hello wo', 35],
  [4, 'hello w', 31],
  [6, 'hello w', 39],
];
data = [
  [2, 'hello world', 30],
  [3, 'hworl', 33],
  [5, 'hello wo', 35],
  [4, 'hello w', 31],
  [6, 'hello w', 39],
];

9번 문제

8번 문제에서 첫 번째 요소와 세 번째 요소의 차가 큰 순으로 출력해주세요.


답안

I
love
python
I
love
python
def plus(num1, num2):
    return num1 + num2
 
def minus(num1, num2):
    return num1 - num2
 
def multiply(num1, num2):
    return num1 * num2
 
def divide(num1, num2):
    return num1 / num2
 
print(f'plus : {plus(10, 5)}')
print(f'minus : {minus(10, 5)}')
print(f'multiply : {multiply(10, 5)}')
print(f'divide : {divide(10, 5)}')
def plus(num1, num2):
    return num1 + num2
 
def minus(num1, num2):
    return num1 - num2
 
def multiply(num1, num2):
    return num1 * num2
 
def divide(num1, num2):
    return num1 / num2
 
print(f'plus : {plus(10, 5)}')
print(f'minus : {minus(10, 5)}')
print(f'multiply : {multiply(10, 5)}')
print(f'divide : {divide(10, 5)}')
a = 2
b = 3
 
def multiple (x=0, y=0):
    return x * y
 
def plus (x=0, y=0):
    return x + y
 
def minus (x=0, y=0):
    return x - y
 
multiple(plus(a,b), minus(a,b))
a = 2
b = 3
 
def multiple (x=0, y=0):
    return x * y
 
def plus (x=0, y=0):
    return x + y
 
def minus (x=0, y=0):
    return x - y
 
multiple(plus(a,b), minus(a,b))
def power(x, n):
    if n == 0:
        return 1
    else:
        return x * power(x, n-1)
def power(x, n):
    if n == 0:
        return 1
    else:
        return x * power(x, n-1)
s = sorted(data, key=lambda x:x[1])[0][0]
s[s.find('licat'):]
 
s = str(list(data))
s[s.find('licat'):s.find('licat') + 5]
s = sorted(data, key=lambda x:x[1])[0][0]
s[s.find('licat'):]
 
s = str(list(data))
s[s.find('licat'):s.find('licat') + 5]
def is_palindrome(s):
    if list(reversed(s)) == list(s):
        return True
    return False
 
def is_palindrome(s):
    if s == s[::-1]:
        return True
    return False
 
def is_palindrome(word):
    if len(word) < 2:
        return True
    if word[0] != word[-1]:
        return False
    return is_palindrome(word[1:-1])
 
is_palindrome('level')
is_palindrome('world')
def is_palindrome(s):
    if list(reversed(s)) == list(s):
        return True
    return False
 
def is_palindrome(s):
    if s == s[::-1]:
        return True
    return False
 
def is_palindrome(word):
    if len(word) < 2:
        return True
    if word[0] != word[-1]:
        return False
    return is_palindrome(word[1:-1])
 
is_palindrome('level')
is_palindrome('world')
numbers = [2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers = list(filter(lambda x:x%2==1,numbers))
print(numbers)  # 결과: [3, 5, 7, 9]
numbers = [2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers = list(filter(lambda x:x%2==1,numbers))
print(numbers)  # 결과: [3, 5, 7, 9]
sorted(data, key=lambda x:len(x[1]))
sorted(data, key=lambda x:len(x[1]))
sorted(data, key=lambda x:x[2]-x[0], reverse=True)
sorted(data, key=lambda x:x[2]-x[0], reverse=True)
{"packages":["numpy","pandas","matplotlib","lxml"]}
7.6 built-in function8장 조건문