1. 기초
# 세미콜론 안써도됨
# 자료형은 알아서 설정됨 알고싶을때 type()사용
# 숫자시작x 언더바시작o
# 한줄 주석 샵, 여러줄주석 따옴표3개
# 집합 set : 순서 x
fruit_basket = {"orange", "banana", "grape"}
fruit_basket.add("kiwi") #add 더하기 (같은 요소 더하면 변화없음 => 중복x)
fruit_basket.remove("banana") #remove 빼기
# print(fruit_basket)
more_fruits = ["apple","peach"]
fruit_basket.update(more_fruits) #update 한번에 "여러개 더하기"
# print(fruit_basket)
# 문자열 분할 split() => 리스트
sentence = "Hello! I am cuty girl."
words = sentence.split() # split(" ")와 동일
# print(words) # ['Hello!', 'I', 'am', 'cuty', 'girl.']
# 문자열, 리스트 슬라이싱 [ : ]
messagge = "Hello! My name is nayeong"
numbers = [1, 2, 3, 4, 5]
# print(messagge[:5]) # Hello
# print(messagge[18:]) # nayeong
# print(numbers[1:3]) # [2, 3]
# 문자열 포멧팅 : %s 문자열 %d 숫자
name = "nayeong"
age = 27
# print("My name is %s. I'm %d years old." % (name, age))
# map(각요소에적용할함수,적용할데이터)
add_ten = map(lambda x: x + 10, numbers) #lambda : 익명함수 (간단한 연산시 사용)
# print(list(add_ten)) # 출력 : [11,12,13,14,15]
# 입력
# x, y = input("x, y의 값을 공백으로 구분하여 입력 : ").split(" ")
# print("x의 값 : ", x)
# print("y의 값 : ", y)
# 반복문
a = 100
result = 0
for i in range(1,3): # 1이상 3"미만" !
result = a >> i
result = result + 1
# print(result)
# 클래스
class good : # good이라는 class 정의
li = ["seoul", "kyeonggi", "inchon", "daejeon", "daegu", "pusan"]
g = good() # good 클래스의 인스턴스 g를 생성
str01 = '' # 빈 문자열
for i in g.li: # 인스턴스 g의 li의 각 요소 i를 반복
str01 = str01 + i[0] # i의 0번째를 더하기
# print(str01) # 출력 : skiddp (첫글자들이 모인 문자열 출력)
2. 문제
# 문제 10 : 중첩반복문
lol = [[1,2,3],[4,5],[6,7,8,9]]
for sub in lol:
for item in sub:
print(item, end='') # end='' : 줄바꿈x
print() # 줄바꿈
#출력 : # 123
# 45
# 6789
# 문제 13
def fnCalculation(x, y): # 함수 정의
result = 0;
for i in range(len(x)): # x의길이-1 만큼 반복문 실행
temp = x[i:i+len(y)] # x[i+y길이] 를 temp에 저장
if temp == y: # temp와 y가 같으면 result +1
result += 1;
return result # result 반환
a = "abdcabcabca"
p1 = "ab";
p2 = "ca";
out = f"ab{fnCalculation(a,p1)}ca{fnCalculation(a,p2)}"
# f : 문자열 포메팅
# {fnCalculation(a,p1)} : a 문자열에서 ab의 개수 => 3
# {fnCalculation(a,p2)} : a 문자열에서 ca의 개수 => 3
print(out) # ab3ca3
# 문제 14
# a, b = b, a : a와 b의 값 교환
def func(lst):
for i in range(len(lst)//2):
lst[i], lst[-i-1] = lst[-i-1], lst[i]
lst = [1, 2, 3, 4, 5, 6]
func(lst) # 리스트 뒤집음 : lst = [6, 5, 4, 3, 2, 1]
print(sum(lst[::2]) - sum(lst[1::2]))
# sum(lst[::2]) : 6 + 4 + 2 = 12
# sum(lst[1::2]) : 5 + 3 + 1 = 9
# 출력 : 3