students = ["라이언", "튜브", "어피치", "무지", "네오", "프로도", "콘"]
#여기서 누군가를 탈퇴시키려면 del 키워드를 사용해야한다.
del students[1]
print(students)
>>> ["라이언", "어피치", "무지", "네오", "프로도", "콘"]
students.remove("라이언")
#Input으로 주어진 리스트에서 홀수는 전부 지우고 짝수만 남은 리스트를 리턴해주세요. 리스트의 요소들은 전부 숫자값이고 총 요소 수는 5개 입니다.
#예를 들어, 다음과 같은 listrk input으로 주어졌다면:
#[1, 2, 3, 4, 5]
#다음과 같은 결과물이 리턴되어야 합니다.
#[2, 4]
def remove_odd_numbers(numbers):
if(numbers[4] % 2 != 0):
del numbers[4]
if(numbers[3] % 2 != 0):
del numbers[3]
if(numbers[2] % 2 != 0):
del numbers[2]
if(numbers[1] % 2 != 0):
del numbers[1]
if(numbers[0] % 2 != 0):
del numbers[0]
return numbers
#앞에서부터 지우면 인덱스가 엉클어지기에 뒤에서부터 지워봤다.
#elif를 안 쓴 이유는 elif를 쓰게된다면 elif 조건문이 만족할 시 코드를 실행시키고 조건문을 빠져나가기 때문에, 그 이후것들을 비교할 수 없기때문이다.
my_tuple = (1, 2, 3)
#Input으로 주어진 list를 3개의 tuples로 구성된 리스트로 변환하여 리턴해주세요.
#Input 리스트는 정확히 6개의 요소를 가지고 있습니다.
# My Solution
def convert_list_to_list_of_tuples(my_list):
last_list = [(my_list[:2][0], my_list[:2][1]), (my_list[2:4][0], my_list[2:4][1]), (my_list[4:][0], my_list[4:][1])]
return last_list
# input받은 리스트를 슬라이싱하고 슬라이싱한 리스트의 요소를 튜플로 감싸준 뒤, 리스트로 다시 감싸줬다.
# 쓸데없이 길어진거 같은 느낌이다.
set1 = {1, 2, 3}
set2 = set([1, 2, 3])
set1 = {1, 2, 3, 1}
print(set1)
>>> {1, 2, 3}
my_set = {1, 2, 3}
my_set.add(4)
print(my_set)
>>> {1, 2, 3, 4}
my_set = {1, 2, 3}
my_set.remove(3)
print(my_set)
>>> {1, 2}
my_set = {1, 2, 3}
if 1 in my_set:
print("1 is in the set")
>>> 1 in in the set
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4 ,5, 6, 7, 8, 9}
print(set1 & set2)
>>> {4, 5, 6,}
print(set1.intersection(set2))
>>> {4, 5, 6}
print (set1 | set2)
>>> {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(set1.union(set2))
>>> {1, 2, 3, 4, 5, 6, 7, 8, 9}
왼쪽 상단의 get_unique_numbers_count 함수를 구현해주세요.
get_unique_numbers_count 함수는 numbers 라는 parameter를 받습니다.
numbers는 list 입니다. Numbers의 고유 값들의 수를 리턴해주면 됩니다.
예를 들어, 다음과 같은 input이 들어왔다면:
[1, 2, 1, 1, 3, 4, 5]
5를 리턴해주면 됩니다.
# MY Solution
def get_unique_numbers_count(numbers):
return len(set(numbers))
# numbers는 리스트 이므로 set 함수로 set으로 바꿔주는데, 이때 자동적으로 중복 요소들은 replacing된다.
# 그 후에 이전에 배웠던대로 len 함수로 길이를 리턴해줬다.
my_dic = {"key1" : "value1" , "key2" : "value2"}
dict1 = {1 : "one", 1: "two"}
ptinr(dict1)
>>> {1 : "two"}
my_dict = { "one": 1, 2: "two", 3 : "three" }
my_dict["four"] = 4
print(my_dict)
> {'one': 1, 2: 'two', 3: 'three', 'four': 4}
my_dict = { }
my_dict[1] = "one"
my_dict[2] = "two"
> {1: 'one', 2: 'two'}
my_dict = { "one": 1, 2: "two", 3 : "three" }
del my_dict["one"]
print(my_dict)
> {2: 'two', 3: 'three'}
BTS 멤버중 하나인 "지민"의 다음 사항들을 인터넷 검색을 통해서 찾으셔서 dictionary로 구현하여 출력해주세요:
가명
본명
생년월일
출생지
포지션
학력
힌트: 다음 링크를 참고하시면 위의 정보들을 찾을 수 있습니다.
# My Solution
chimmy = {
"가명":"지민",
"본명":"박지민",
"생년원일":"1995년 10월 13일",
"출생지":"대한민국 부산광역시 금정수 금사동",
"포지션":"리드 보컬, 메인 댄서",
"학력":"글로벌사이버대학교(재학)"
}
print(chimmy)
for element in list:
do_something_with_element
numbers1 = [1, 2, 3, 4, 5]
numbers2 = [10, 20, 30, 40, 50]
for num1 in numbers1:
for num2 in numbers2:
print(f"{num1} * {num2} == {num1 * num2}")
Input 으로 주어진 리스트에서 오직 한번만 나타나는 값 (unique value)을 가지고 있는 요소는 출력해주세요.
예를 들어, 다음과 같은 리스트가 주어졌다면:
[1, 2, 3, 4, 5, 1, 2, 3, 7, 9, 9, 7]
다음과 같이 출력되어야 합니다.
4
5
# My Solution
my_list = [s for s in input().split()]
new_list = []
for i in my_list:
if i not in new_list:
new_list.append(i)
elif i in new_list:
new_list.remove(i)
print(new_list)
# 새로운 리스트를 작성한 후 input된 my_list의 값 중 new_list에 없는건 추가하고, 있는건 제거해버린다.
# 1을 넣고 또 1이 나오면 같이 저장되있던 1도 지워버린다.
## 뭔가 만족스럽지 않고 때려박다가 맞춘 느낌이라서 애매하다.
while <조건문>:
<수행할 문장1>
<수행할 문장2>
<수행할 문장3>
...
<수행할 문장N>
number = 0
while number <= 10:
if number == 9:
break
elif number <= 5:
number += 1
continue
else:
print(number)
number += 1
> 6
7
8
while <조건문>:
<수행할 문장1>
<수행할 문장2>
<수행할 문장3>
...
<수행할 문장N>
else:
<while문이 종료된 후 수행할 문장1>
<while문이 종료된 후 수행할 문장2>
<while문이 종료된 후 수행할 문장3>
...
<while문이 종료된 후 수행할 문장N>
find_smallest_integer_divisor 라는 이름의 함수를 구현해 주세요.
find_smallest_integer_divisor 함수는 하나의 parameter를 받습니다.
Parameter 값은 integer만 주어집니다.
find_smallest_integer_divisor 주어진 parameter 값을 정수로 나눌 수 있는 최소한의 수를 리턴하여야 합니다.
예제:
find_smallest_integer_divisor(15) == 3
# My Solution
def find_smallest_integer_divisor(numb):
n = 2
while numb % n != 0:
n += 1
return n
# n 을 2로 설정하고 input 받은 numb를 n으로 나눠봤을 때 0이 나오면 바로 리턴, 아니면 n에 1을 더해서 계속해서 반복시킨다.
Input으로 주어진 list의 각 요소(element)가 해당 list에 몇번 나타나는지 수를 dictionary로 만들어서 리턴해주세요. Dictionary의 key는 list의 요소 값이며 value는 해당 요소의 출 빈도수 입니다.
예를 들어, 다음과 같은 list가 input으로 주어졌다면:
my_list = ["one", 2, 3, 2, "one"]
다음과 같은 dictionary가 리턴되어야 합니다.
{
"one" : 2,
2 : 2,
3: 1
}
# My Solution
def get_occurrence_count(my_list):
new_dict = {}
for each_key in my_list:
if each_key in new_dict:
new_dict[each_key] = new_dict[each_key] + 1
else:
new_dict[each_key] = 1
return new_dict
# 먼저 빈 딕셔너리를 만들어준다.
# each_key는 my_list 값을 하나씩 꺼내서 저장되는 변수이다.
# if문에 in 키워드를 쓰면 each_key 변수에 담겨진 값이 new_dict 딕셔너리에 있는지 look up 해준다.
# new_dict[each_key] 가 의미하는 건 new_dict 딕셔너리의 each_key 라는 키값을 지닌 value 값을 말한다. each_key가 이미 있다면 value 값에 + 1 해준다.
# 만약 look up 했는데 False 라면 중복되지 않고 처음 들어온 수라는 의미이므로, value 값은 1이 된다.
bts = [
{
"실명" : "김남준",
"가명" : "RM",
"생년월일" : "1994년 9월 12일",
"출생지" : "대한민국 서울특별시 동작구 상도동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "리더 · 메인 래퍼"
},
{
"실명" : "김석진",
"가명" : "진",
"생년월일" : "1992년 12월 4일",
"출생지" : "대한민국 경기도 과천시",
"학력" : "한양사이버대학교 대학원",
"포지션" : "서브 보컬"
},
{
"실명" : "민윤기",
"가명" : "슈가",
"생년월일" : "1993년 3월 9일",
"출생지" : "대한민국 대구광역시 북구 태전동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "리드 래퍼"
},
{
"실명" : "정호석",
"가명" : "제이홉",
"생년월일" : "1994년 2월 18일",
"출생지" : "대한민국 광주광역시 북구 일곡동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "서브 래퍼 · 메인 댄서"
},
{
"실명" : "박지민",
"가명" : "지민",
"생년월일" : "1995년 10월 13일",
"출생지" : "대한민국 부산광역시 금정구 금사동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "리드 보컬 · 메인 댄서"
},
{
"실명" : "김태형",
"가명" : "뷔",
"생년월일" : "1995년 12월 30일",
"출생지" : "대한민국 대구광역시 서구 비산동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "서브 보컬"
},
{
"실명" : "전정국",
"가명" : "정국",
"생년월일" : "1997년 9월 1일",
"출생지" : "대한민국 부산광역시 북구 만덕동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "메인 보컬 · 서브 래퍼 · 리드 댄서"
}
]
bts = {
"RM": {
"실명" : "김남준",
"가명" : "RM",
"생년월일" : "1994년 9월 12일",
"출생지" : "대한민국 서울특별시 동작구 상도동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "리더 · 메인 래퍼"
},
"진": {
"실명" : "김석진",
"가명" : "진",
"생년월일" : "1992년 12월 4일",
"출생지" : "대한민국 경기도 과천시",
"학력" : "한양사이버대학교 대학원",
"포지션" : "서브 보컬"
},
"슈가": {
"실명" : "민윤기",
"가명" : "슈가",
"생년월일" : "1993년 3월 9일",
"출생지" : "대한민국 대구광역시 북구 태전동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "리드 래퍼"
},
"제이홉": {
"실명" : "정호석",
"가명" : "제이홉",
"생년월일" : "1994년 2월 18일",
"출생지" : "대한민국 광주광역시 북구 일곡동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "서브 래퍼 · 메인 댄서"
},
"지민": {
"실명" : "박지민",
"가명" : "지민",
"생년월일" : "1995년 10월 13일",
"출생지" : "대한민국 부산광역시 금정구 금사동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "리드 보컬 · 메인 댄서"
},
"뷔": {
"실명" : "김태형",
"가명" : "뷔",
"생년월일" : "1995년 12월 30일",
"출생지" : "대한민국 대구광역시 서구 비산동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "서브 보컬"
},
"정국": {
"실명" : "전정국",
"가명" : "정국",
"생년월일" : "1997년 9월 1일",
"출생지" : "대한민국 부산광역시 북구 만덕동",
"학력" : "글로벌사이버대학교 방송연예학과",
"포지션" : "메인 보컬 · 서브 래퍼 · 리드 댄서"
}
}
print(bts["제이홉"]["생년월일"])
def buy_A_car(options):
print(f"다음 사양의 자동차를 구입하십니다:")
for option in options:
print(f"{option} : {options[option]}")
options = {"seat" : "가죽", "blackbox" : "최신"}
buy_A_car(options)
> 다음 사양의 자동차를 구입하십니다:
seat : 가죽
blackbox : 최신
#다음과 같이 선언된 함수가 있다고 해보자.
def buy_A_car(**kwargs):
print(f"다음 사양의 자동차를 구입하십니다:")
for option in kwargs:
print(f"{option} : {kwargs[option]}")
# 호출을 할 때는 다음 처럼 호출 할 수 있다.
buy_A_car(seat="가죽", blackbox="최신", tint="yes")
# 그러면 kwargs 파라미터는 다음과 같은 dictionary로 함수에 전해지게 된다.
{'seat': '가죽', 'blackbox': '최신', 'tint': 'yes'}
# 그러므로 함수 body 안에서는 dictionary를 사용하듯이 kwargs를 사용하면 된다.
def do_something(*args, **kwargs):
## some code here...
....
do_something(1, 2, 3, name="정우성", age=45)
do_something(1, 2, 3, 4, 5, "hello", {"주소" : "서울", "국가" : "한국"})
do_something(name="정우성", gender="남", height="187")
do_something(1)
do_something()
함수 2개를 구현해주세요. 함수의 이름은 다음과 같아야 합니다.
sum_of_numbers
what_is_my_full_name
함수 sum_of_numbers는 arugment로 주어지는 모든 수를 합한 값을 리턴해야 합니다.
예를 들어, sum_of_numbers(1, 2, 3, 4, 5) 는 15를 리턴해야 하고 sum_of_numbers(1,2)는 3을 리턴해야 합니다.
만일 parameter가 주어지지 않으면 0을 리턴해야 합니다.
what_is_my_full_name 함수는 주어진 parameter중 first_name 과 last_name 이라는 parameter를 조합하여 full name을 리턴해주어야 합니다.
예를 들어, first_name이 "우성" 이고 last_name 이 "정" 이면 "정 우성" 라고 리턴하면 됩니다.
Last name과 first name 사이에 space(빈칸)이 들어가 있어야 합니다.
만일 last_name이 없거나 first_name이 없으면 둘 중하나만 리턴하면 됩니다.
예를 들어, last_name이 없으면 "우성" 이라고 이름만 리턴하면 됩니다,
마지막으로, last_name과 first_name 둘다 없으면 "Nobody" 라고 리턴하면 됩니다.
# My Solution
def sum_of_numbers(*args):
sum = 0
if args == 0:
return 0
for i in args:
sum += i
return sum
#
def what_is_my_full_name(**kwargs):
if "first_name" in kwargs and "last_name" in kwargs:
return f"""{kwargs["last_name"]} {kwargs["first_name"]}"""
elif "first_name" in kwargs and "last_name" not in kwargs:
return f"""{kwargs["first_name"]}"""
elif "first_name" not in kwargs and "last_name" in kwargs:
return f"""{kwargs["last_name"]}"""
else:
return "Nobody"