my_input = input("콘솔에 띄울설명")
name = input("이름을 입력하세요: ")
print("안녕하세요, ", name)
a = input() # 정수로 받고자 할 경우엔 int(input())
b = input() # 정수로 받고자 할 경우엔 int(input())
print(a + b) # 문자열로 인식됨.
c = float(input())
d = float(input())
print(c + d)
# split으로 문자열 나누기 --> 문자열이 list로 나뉘어짐
fruit = "사과 참외 수박". split()
print(fruit)
# split: 문자열만 사용 가능한 함수(숫자 사용 불가)
# split의 괄호 안에 구분자 지정 가능(기본: 공백)
# split + input으로 여러 변수에 입력하기
과일1, 과일2, 과일3 = input(). split()
print(과일1, 과일2, 과일3)
# 문자열을 쪼개주는 함수: split()
# 기본 구분자: 공백
# 다른 구분자 사용
apple, banana, grape = input().split("-")
print(apple, banana, grape)
실습1
이름, 나이 = input().split(",")
print(f"안녕하세요. 저는 {이름}이고, {나이}살입니다.")
결과

실습2
가로 = int(input("가로를 입력하세요."))
세로 = int(input("세로를 입력하세요."))
넓이 = 가로 * 세로
둘레 = 2 * (가로 + 세로)
print(f"넓이: {넓이}\
둘레: {둘레}")
결과

실습3
num1, num2, num3, num4 =input(). split(" ")
print(f"천의 자리: num1\n 백의 자리: num2\n 십의 자리: num3\n 일의 자리: num4\n")
# 사실 자릿수를 확인할 때는 입력받는 정수에 list를 사용하는 게 더 맞다고 생각됨
결과

실습4
사람1, 사람2, 사람3 = input("발표자 이름 3명을 입력하세요: "). split(", ")
주제1, 주제2, 주제3 = input("발표 주제 3개를 입력하세요:"). split(", ")
print(f"발표 순서 안내입니다.\
1조 발표자: {사람1} - 주제: {주제1}\
2조 발표자: {사람2} - 주제: {주제2}\
3조 발표자: {사람3} - 주제: {주제3} ")
결과

실습5
year, month, day = input("년, 월, 일을 입력해주세요: "). split(".")
hour, minute, second = input("시, 분,초를 입력해주세요: "). split(":")
print(f"RE5의 개강일은 {year}년 {month}월 {day}일\
시작 시간은 {hour}시 {minute}분 {second}초입니다.")
결과

# input() 문자열만 가능하지만 숫자를 입력할 경우에는 int(input())을 사용한다.
# 하지만 정수에는 .split() 적용되지 않기 때문에 오류가 난다.
# 따라서 list()를 사용하여 list(input)...를 사용하거나 각각의 정수를 받아서 사용하도록 하나씩 코드를 작성해야 한다.
'''
list: 여러 값들을 순서대로 저장할 수 있는 자료형
list1 = [] # 빈 리스트
list2 = ["안녕하세요", "반갑습니다"] # 문자열이 들어간 리스트
list3 = [10, "gold", 3.14, [1, 2, 3, 5]]
print(list1, list2, list3)
list4 = list() # 리스트 함수를 이용해서 빈 리스트를 만듦
list5 = list("CODINGON") # 문자열의 각 문자를 하나씩 리스트화 됨
print(list4, list5)
my_list = [1, 2, 3, 4, 5]
print(my_list[0]) # 1
print(my_list[-1]) # 5
my_list[3] = -1
print(my_list) # [1, 2, 3, -1, 5]
number = input("네 자릿수 정수를 입력하세요: ")
천 = number[0]
백 = number[1]
십 = number[2]
일 = number[3]
print(천, 백, 십, 일)
my_numbers = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
print(my_numbers[1:4]) # 1 --> 시작 인덱스(포함), 4 --> 끝 인덱스(불포함)
print(my_numbers[3:]) # 40 ~ 100
print(my_numbers[:4])
print(my_numbers[:]) # 전체 복사
print(my_numbers[::-1]) # 문자열 뒤집기
# [start:end:step] --> step에 -1을 사용해서 전체 복사 = 리스트를 반전해서 복사
my_numbers[2:4] = [300, 400]
print(my_numbers)
my_numbers[1:5] = [9, 4, 3]
print(my_numbers)
실습1-1
nums1 = [10, 20, 30, 40, 50]
print(nums1[0], nums1[4])
결과

실습1-2
nums2 = [100, 200, 300, 400, 500, 600, 700]
print(nums2[2:5])
결과

실습1-3
nums3 = [1, 2, 3 ,4 ,5]
num1 = nums3[0] 2
num2 = nums3[1] 2
num3 = nums3[2] 2
num4 = nums3[3] 2
num5 = nums3[4] * 2
nums4 = [num1, num2, num3, num4, num5]
print(nums4[:])
결과

실습1-4
items = ["a", "b", "c", "d", "e"]
print(items[::-1])
결과

실습1-5
data = ["zero", "one", "two", "three", "four", "five"]
print(data[::2])
결과

실습1-6
movies = ["인셉션", "인터스텔라", "어벤져스", "라라랜드", "기생충"]
movies[2:4] = ["매트릭스", "타이타닉"]
print(movies[:])
결과

실습1-7
subjects = ["국어", "수학", "영어", "물리", "화학", "생물", "역사", "지구과학", "윤리"]
print(subjects[3::2])
결과

실습1-8
datax = ["A", "B", "C", "D", "E", "F", "G", "H", "I"]
data1 = datax[0:3] # datax[0:3:-1]도 가능
data2 = datax[3:6] # datax[3:6:-1]도 가능
data3 = datax[6:8] # datax[6:8:-1]도 가능
print(data1[::-1], data2[::-1], data3[::-1]) # print(data1[:], data2[:], data3[:]) <-- datax[x:y:-1]로 바꿨을 때
결과

my_list = [1, 2, 3, 4]
my_list[5] # IndexError: list index out of range
my_list = [1, 2, 3, 4, 5]
#print(my_list[4:1:2]) # [] # IndexError: list index out of range
print(my_list[1:3:-1]) #[]
my_list = [10, 20, 30, 40, 50]
del my_list[2] # 특정 요소 삭제
print(my_list)
del my_list[1:3] # 슬라이스 범위 공개
print(my_list)
del my_list # 리스트 삭제
print(my_list) # Exception has occurred: NameError
list1 = ["가", "나", "다"]
list2 = ["라", "마", "바"]
new_list = list1 + list2
print(list1, list2, new_list, sep=" / ")
medal = ["금", "은", "동"]
new_list = medal * 3
print(medal, new_list, sep = " / ")
fruits = ["토마토", "사과", "포도", "수박", "바나나"]
print("포도" in fruits)
print("참외" not in fruits)
실습2-1
fruitss = ["apple", "banana", "cherry", "grape", "watermelon", "strawberry"]
del fruitss[1:4]
print(fruitss)
결과

실습2-2
letters = ["A", "B"]
new_letter_list = letters * 3
del new_letter_list [2]
print(new_letter_list)
결과

numbers = [1, 2, 3, 4, 5]
print("1. len()", len(numbers), len("Codingon"))
numbers.append(6)
numbers.append(7)
numbers.append(8)
print("2. append()", numbers)
numbers.insert(2, 2.5)
numbers.insert(4, 3.5)
print("3. insert()", numbers)
numbers.extend([9, 10])
print("4. extend()", numbers)
# 삭제
numbers.append(2.5)
numbers.remove(2.5)
print("5. remove()", numbers)
a = numbers.pop(4)
print("6. pop() 삭제한 요소", a)
print(numbers)
b = numbers.pop()
print("6. pop() 삭제한 요소", b)
print(numbers)
# 정렬
numbers1 = [3, 2, 1, 4]
numbers1.sort()
print("7-1. sort()", numbers1)
numbers1.sort(reverse=True)
print("7-1. sort(reverse=True)", numbers1)
numbers2 =[50, 52, 53, 51]
new_numbers = sorted(numbers2)
new_numbers_desc = sorted(numbers2, reverse = True)
print("7-2. sorted()", numbers2, new_numbers, new_numbers_desc)
# 뒤집기
my_numbers = [100, 101, 104, 103, 102]
my_numbers.reverse()
print("8-1. reverse()", my_numbers) # [102, 103, 104, 101, 100]
my_numbers2 = list(reversed(my_numbers))
# my_numbers = reversed(my_numbers) --> <list_reverseiterator object at 0x000001BF00CF7370>
print("8-2. reversed()", my_numbers2, my_numbers)
# count, min, max, sum
numbers = [1, 2, 2, 2, 2, 3, 4, 5, 6, 7]
print("9. count()", numbers.count(2))
print("10. min/max()", min(numbers), max(numbers))
print("11. sum", sum(numbers))
실습3-1
passengers.extend(["민수", "지훈"])
del passengers[1]
passengers.insert(0, "수진")
del passengers[2]
now_passengers = list(reversed(passengers))
print("현재 승객들의 좌석 순서", now_passengers)
결과

실습3-2
card_game_list.extend([4, 9])
print("mininum", min(card_game_list), "maximum", max(card_game_list))
print(sum(card_game_list))
card_game_list.sort()
del card_game_list[4]
print("최종 리스트", card_game_list)
결과
