#입력 받은 것의 2배 출력
>>> a = int(input())
print(a*2)
#'space bar'로 여러개를 한번에 입력받기
>>> words = input().split()
words
#'comma(,)'로 분리해서 여러개를 한번에 입력받기
>>> words = input().split(",")
words
>>> print("I ate three apples. So I have sicked for 3 days.")
>>> number = "three"
day = 3
print("I ate number apples. So I have sicked for day days.")
#print에 들어있는 그대로 출력된다
#.format() : {}로 변수 자리를 표시
>>> number = "three"
day = 3
print("I ate {} apples. So I have sicked for {} days.".format(number, day))
print("I ate {0} apples. So I have sicked for {1} days.".format(number, day))
print("I ate {1} apples. So I have sicked for {0} days.".format(number, day))
print("I ate {0} apples. So I have sicked for {0} days.".format(number, day))
>>> number = "three"
day = 2
print(f"I ate {number} apples. So I have sicked for {day} days.")
#이름(name)과 나이(age)를 입력받아서 "나의 이름은 000이고, 나이는 00세 입니다." 출력
>>> name = input("이름: ")
age = int(input("나이: "))
print(f"나의 이름은 {name}이고, 나이는 {age}세 입니다.")
-만들기 -> 접근하기 -> 수정하기
-리스트의 역할 : 여러개의 데이터를 하나로 묶어준다
>>> a = [1,2,3,4]
a
type(a)
>>> a = 1, 2
a
type(a)
>>> a = [1,2,3,4,"Hello","Good morning"]
a #숫자와 문자도 같이 묶을 수 있다
type(a)
>>> a = [1,2,3,4,"Hello","Good morning",[5,6,7,8]]
a #list 안에 list를 넣을 수도 있다 -> 중첩리스트(nested list)
>>> a = [1,2,3,4,"Hello","Good morning",[5,6,7,8]]
a
a[0]
a[4]
a[4][0]
#'Good morning'에서의 m을 출력
>>> a[5][5]
#7을 출력
>>> a[6][2]
#index를 뒤에서부터 셀 때는 '-'를 사용한다
>>> a[-1] #뒤에서 첫번째
a[-2][-1]
a[-0] #-0은 0으로 취급된다
>>> a[0]+a[1]+a[2]+a[3]
a[4]+a[5]
>>> a = [1,2,3,4,"Hello","Good morning",[5,6,7,8]]
a[0:4]
a[4:6]
a[4: ]
a[ :4]
a[ : ]
a[-3: ]
#'Hello'에서 'll'만 출력
>>> a[4][2:4]
#'Good morning'에서 'morning'만 출력
>>> a[-2][5: ]
>>> a = [1,2,3,4,"Hello","Good morning",[5,6,7,8]]
#2를 22로 수정
>>> a[1] = 22
a
>>> a.append(9)
a #리스트의 맨 끝에 추가된다
>>> a.append("문자")
a #문자도 추가 가능하다
>>> a.insert(2, 33) #위치를 지정해서 추가 : (인덱스 번호, 추가할 값)
a
>>> a.remove(33)
a
>>> a.pop(3) #괄호 안에 인덱스 번호가 들어간다
a
>>> a = [1,3,4,2]
sort([1,3,4,2])
sorted([1,3,4,2])
>>> a = [5,8,7,6]
a.sorted()
a.sort()
a
>>> a.reverse()
a #정렬된 순서를 반대로 뒤집는다
-리스트와 거의(99%) 같다
-수정이 불가능하여 자주 사용하지는 않는다
>>> a = (1,2,3,4)
a
type(a)
>>> a = 5,6,7,8
a #()가 자동으로 만들어져 출력된다
>>> num = (10, 12)
num
>>> a, b = num #묶여있는 두개의 변수를 한꺼번에 받게 할 수 있다
(a, b) = (10, 20)
print(a)
print(b)
>>> a = {"apple" : "사과"}
a
type(a)
>>> a = {"apple" : "사과", "banana" : "바나나", "cherry" : "체리"}
#key 하나에 value가 여러개일 수 있다 : 여러개 -> 묶어라 -> [ ] 사용
>>> a = {"apple" : ["사과","능금","백설공주"], "banana" : "바나나", "cherry" : "체리"}
a
>>> a["apple"]
a["사과"] #value로는 접근이 되지 않는다
>>> a.keys()
dict_keys(['apple', 'banana', 'cherry'])
>>> a.values()
dict_values(['사과', '바나나', '체리'])
>>> a.items()
dict_items([('apple', '사과'), ('banana', '바나나'), ('cherry', '체리')])
#전체는 []로 묶고, 각각의 key와 value를 (), 즉 tuple로 묶고 있다
>>> for i in a.items() :
print(i)
('apple', '사과')
('banana', '바나나')
('cherry', '체리')
>>> for i, j in a.items() :
print(i, j)
apple 사과
banana 바나나
cherry 체리
>>> a['banana'] = "빠나나"
a
{'apple': ['사과', '능금', '백설공주'], 'banana': '빠나나', 'cherry': '체리'}
#추가 : 수정과 방법이 비슷하다
>>> a['durian'] = "두리안"
a
{'apple': ['사과', '능금', '백설공주'], 'banana': '빠나나', 'cherry': '체리', 'durian': '두리안'}
>>> 명단 = {"철수" : "합격", "영희" : "합격"}
name = input("이름을 입력하세요: ")
print(명단[name])
print(f"{명단[name]} 입니다")
>>> a = [1,2,3]
b = a
c = a[:]
d = a.copy()
import copy
e = copy.copy(a)
from copy import copy
f = copy(a)
>>> a = [1,2,3]
a
>>> id(a) #id() : 변수가 가리키고 있는 객체의 주소 값을 돌려주는 파이썬 내장 함수
>>> b = a
b
>>> c = a.copy()
c
#b와 c 모두 a의 값을 복사한 것 같지만, 결과는 다르다
>>> c[2] = 30
c
[1,2,30]
>>> a
[1,2,3]
>>> b[2] = 300
b
[1,2,300]
>>> a
[1,2,300]
>>> print(id(a))
print(id(b))
print(id(c))
#a와 b의 id값이 같다
#등호(=)를 사용하는 것은 복사하는 것이 아니다, 대입의 개념
>>> a, b = ("python","life")
(a, b) = "python","life"
a, b
('python', 'life')
>>> a = b = 'python'
print(a)
print(b)
python
python
\n, \t
>>> print("Life is short. \nWe need Python.")
Life is short.
We need Python.
\', \"
>>> print("그가 나에게 \"사랑해요\"라고 말했다.")
그가 나에게 "사랑해요"라고 말했다.
if 조건 :
참일 때 실행될 문장
elif:
참일 때 실행될 문장
elif:
참일 때 실행될 문장
else:
나머지 모두에서 실행될 문장
>>> if 1 > 2 :
print("yes")
>>> if 1 > 2 :
print("yes")
else :
print("no")
#온도(temp)가 25도 보다 크면 "여름", 15도 보다 크면 "가을", 5도 보다 크면 "봄", 나머지는 "겨울"
>>> temp = int(input("온도: "))
if temp > 25:
print("여름")
elif temp > 15:
print("가을")
elif temp > 5:
print("봄")
else:
print("겨울")
#입력받은 숫자가 홀수인지 짝수인지 판단
>>> number = int(input("숫자 입력: "))
if number % 2 == 0:
print("짝수입니다")
else :
print("홀수입니다")
>>> pocket = ["coins", "bill", "card"]
if "bill" in pocket:
print("택시를 타자")
else:
print("걸어가자")
>>> names = ["류준열", "김우빈", "김태리", "최동훈"]
name = input("이름: ")
if name in names:
print("외계인")
else:
print("인간")
for i in [....]:
반복할 문장
>>> for i in [1,2,3]:
print(i)
print("hello")
print() #한줄띄기
>>> for i in [1,2,3]:
print()
print("hello")
print() #꼭 i를 print해야하는 것은 아니다
>>> for _ in [1,2,3]:
print()
print("hello")
print() #i를 꼭 입력하지 않아도 실행된다
>>> for i in [0,1,2,3,4,5,6,7,8,9]:
print(i)
>>> for i in range(10):
print(i) #'0'부터 '9'까지 출력된다
>>> for i in range(1, 11):
print(i) #'1'부터 '10'까지 출력된다
>>> for i in range(1, 11, 3):
print(i) #'1'부터 '10'까지 '3'간격으로 출력된다
>>> for i in range(10):
print(i, end = ", ") #'0'부터 '9'까지의 숫자가 끝에 ", "가 붙어서 출력된다
#2부터 10까지 짝수만 출력
>>> for i in range(2, 11, 2):
print(i)
>>> for i in range(1, 11):
if i % 2 == 0:
print(i)
>>> for i in range(4):
print(names[i])
for i in range(10):
1 = 0 + 1
3 = 1 + 2
6 = 3 + 3
10 = 6 + 4
...
sum = sum + i
#234부터 567까지의 숫자의 총합
>>> sum = 0
for i in range(234, 568):
sum += i #sum = sum + i 을 간략하게 표기
print(sum)
#숫자 2개를 입력받아서
>>> a = int(input("첫번째: "))
b = int(input("두번째: "))
sum = 0
for i in range(1, b+1):
sum += i
print(sum)
#20까지의 수 중에서 홀수만 모으기
>>> a = []
for i in range(20):
if i % 2 != 0:
a.append(i)
print(a)
#2단
>>> for i in range(1, 10):
print(f"2 X {i} = {2*i}")
#2단 ~ 9단
>>> for i in range(2, 10):
print(f"{i}단")
for j in range(1, 10):
print(f"{i} X {j} = {i*j}")
print()
#3의 배수
>>> a = [1,2,3,4]
result = []
for i in a:
result.append(i*3)
result
[3, 6, 9, 12]
>>> a = [1,2,3,4]
[i*3 for i in a]
#짝수이면 3배
>>> a = [1,2,3,4]
result = []
for i in a:
if i%2 == 0:
result.append(i*3)
result
[6, 12]
>>> a = [1,2,3,4]
[i*3 for i in a if i%2 == 0]