Language/Python

ex_2

원2 2021. 6. 30. 15:48
728x90
반응형

# 06. 문자열을 입력 받아서 역순으로 리턴
def backward_string(val):
    return val[::-1]

if __name__ == '__main__':
    print(backward_string('val'))

    # 다음과 같이 리턴결과가 나와야 한다.
    assert backward_string('val') == 'lav'
    assert backward_string('') == ''
    assert backward_string('ohho') == 'ohho'
    assert backward_string('123456789') == '987654321'

 


# 07.리스트 items 와 정수 i를 입력받아, 만약 i가 items에 있으면 i 앞의 숫자들을 제거하고 리턴

def remove_all_before(items, i) :
    # 코드 작성
    if i in items :
        return items[items.index(i):]

if __name__ == '__main__':
    print(list(remove_all_before([1, 2, 3, 4, 5], 3)))
    
    # 다음과 같이 리턴결과가 나와야 한다.
    assert list(remove_all_before([1, 2, 3, 4, 5], 3)) == [3, 4, 5]
    assert list(remove_all_before([1, 1, 2, 2, 3, 3], 2)) == [2, 2, 3, 3]
    assert list(remove_all_before([1, 1, 2, 4, 2, 3, 4], 2)) == [2, 4, 2, 3, 4]
    assert list(remove_all_before([1, 1, 5, 6, 7], 2)) == [1, 1, 5, 6, 7]
    assert list(remove_all_before([], 0)) == []
    assert list(remove_all_before([7, 7, 7, 7, 7, 7, 7, 7, 7], 7)) == [7, 7, 7, 7, 7, 7, 7, 7, 7]

# 08. text 문자열을 입력받아 문자열의 문자가 모두 대문자 이면 True 리턴,
# 소문자가 있으면 False 리턴, 빈' ' 문자열이나 중간의 ' ' 는 True 로 한다.
def is_all_upper(text):
    return text == text.upper()
        
    
if __name__ == '__main__':
    print(is_all_upper('ALL UPPER'))

    # 다음과 같이 리턴결과가 나와야 한다.
    assert is_all_upper('ALL UPPER') == True
    assert is_all_upper('all lower') == False
    assert is_all_upper('mixed UPPER and lower') == False
    assert is_all_upper('') == True

# 09. 리스트를 입력받아 첫번째 아이템을 맨 마지막으로 보낸다음 리턴,
# 빈 리스트 [ ] 나 [ 1 ] 하나의 값이 있을때는 같은 리스트가 리턴

def replace_first(items):
    #코드작성
    # del items[0]
    # items.append(1)
    # return items

    if len(items) > 1 :
        items.append (items.pop(0))
    return items

if __name__ == '__main__':
    print(list(replace_first([1, 2, 3, 4])))

    # 다음과 같이 리턴결과가 나와야 한다.
    assert list(replace_first([1, 2, 3, 4])) == [2, 3, 4, 1]
    assert list(replace_first([1])) == [1]
    assert list(replace_first([])) == []

# 10. 양수를 입력받아서 숫자의 자릿수중에 가장 큰수(0~9)가 리턴

def max_digit(number):
    
    return int(max(str(number)))


if __name__ == '__main__':
    print("Example:")
    print(max_digit(52))

    # 다음과 같이 리턴결과가 나와야 한다.
    assert max_digit(0) == 0
    assert max_digit(52) == 5
    assert max_digit(634) == 6
    assert max_digit(1) == 1
    assert max_digit(10000) == 1

전체코드

# arr = list(range(10)) 
# arr 
# [0,1,2,3,4,5,6,7,8,9] 
# arr[::2] # 처음부터 끝까지 두 칸 간격으로 [0,2,4,6,8] 
# arr[1::2] # index 1 부터 끝까지 두 칸 간격으로 [1,3,5,7,9] 
# arr[::-1] # 처음부터 끝까지 -1칸 간격으로 ( == 역순으로) [9,8,7,6,5,4,3,2,1,0] 
# arr[::-2] # 처음부터 끝까지 -2칸 간격으로 ( == 역순, 두 칸 간격으로) [9,7,5,3,1] 
# arr[3::-1] # index 3 부터 끝까지 -1칸 간격으로 ( == 역순으로) [3,2,1,0] 
# arr[1:6:2] # index 1 부터 index 6 까지 두 칸 간격으로 [1,3,5]

# # 06. 문자열을 입력 받아서 역순으로 리턴
# def backward_string(val):
#     return val[::-1]

# if __name__ == '__main__':
#     print(backward_string('val'))

#     # 다음과 같이 리턴결과가 나와야 한다.
#     assert backward_string('val') == 'lav'
#     assert backward_string('') == ''
#     assert backward_string('ohho') == 'ohho'
#     assert backward_string('123456789') == '987654321'

# # 07.리스트 items 와 정수 i를 입력받아, 만약 i가 items에 있으면 i 앞의 숫자들을 제거하고 리턴

# def remove_all_before(items, i) :
#     # 코드 작성
#     if i in items :
#         return items[items.index(i):]

# if __name__ == '__main__':
#     print(list(remove_all_before([1, 2, 3, 4, 5], 3)))
    
#     # 다음과 같이 리턴결과가 나와야 한다.
#     assert list(remove_all_before([1, 2, 3, 4, 5], 3)) == [3, 4, 5]
#     assert list(remove_all_before([1, 1, 2, 2, 3, 3], 2)) == [2, 2, 3, 3]
#     assert list(remove_all_before([1, 1, 2, 4, 2, 3, 4], 2)) == [2, 4, 2, 3, 4]
#     assert list(remove_all_before([1, 1, 5, 6, 7], 2)) == [1, 1, 5, 6, 7]
#     assert list(remove_all_before([], 0)) == []
#     assert list(remove_all_before([7, 7, 7, 7, 7, 7, 7, 7, 7], 7)) == [7, 7, 7, 7, 7, 7, 7, 7, 7]

# # 08. text 문자열을 입력받아 문자열의 문자가 모두 대문자 이면 True 리턴,
# # 소문자가 있으면 False 리턴, 빈' ' 문자열이나 중간의 ' ' 는 True 로 한다.
# def is_all_upper(text):
#     return text == text.upper()
        
    
# if __name__ == '__main__':
#     print(is_all_upper('ALL UPPER'))

#     # 다음과 같이 리턴결과가 나와야 한다.
#     assert is_all_upper('ALL UPPER') == True
#     assert is_all_upper('all lower') == False
#     assert is_all_upper('mixed UPPER and lower') == False
#     assert is_all_upper('') == True


# # 09. 리스트를 입력받아 첫번째 아이템을 맨 마지막으로 보낸다음 리턴,
# # 빈 리스트 [ ] 나 [ 1 ] 하나의 값이 있을때는 같은 리스트가 리턴

# def replace_first(items):
#     #코드작성
#     # del items[0]
#     # items.append(1)
#     # return items

#     if len(items) > 1 :
#         items.append (items.pop(0))
#     return items

# if __name__ == '__main__':
#     print(list(replace_first([1, 2, 3, 4])))

#     # 다음과 같이 리턴결과가 나와야 한다.
#     assert list(replace_first([1, 2, 3, 4])) == [2, 3, 4, 1]
#     assert list(replace_first([1])) == [1]
#     assert list(replace_first([])) == []


# 10. 양수를 입력받아서 숫자의 자릿수중에 가장 큰수(0~9)가 리턴

def max_digit(number):
    
    return int(max(str(number)))


if __name__ == '__main__':
    print("Example:")
    print(max_digit(52))

    # 다음과 같이 리턴결과가 나와야 한다.
    assert max_digit(0) == 0
    assert max_digit(52) == 5
    assert max_digit(634) == 6
    assert max_digit(1) == 1
    assert max_digit(10000) == 1

 

728x90
반응형

'Language > Python' 카테고리의 다른 글

파이썬 함수 def  (0) 2021.06.30
ex_1  (0) 2021.06.30
예제 21-30  (0) 2021.06.30
예제 11-20  (0) 2021.06.30
예제 01-10  (0) 2021.06.30
module, random, max, password  (0) 2021.06.28