파이썬의 입력(input), 출력(print), 조건(if, elif, else), 반복(while, for, comprehension)에 대해서 학습합니다.
코드
value = input("insert string : ")
print(type(value), value)
결과
insert string : dss
<class 'str'> dss
코드
value = int(input("insert number : "))
print(type(value), value)
결과
insert number : 5
<class 'int'> 5
코드
value = input("insert string : ")
value = value.split(" ")
print(type(value), value)
결과
insert string : a b c
<class 'list'> ['a', 'b', 'c']
코드
ls = []
for _ in range(3):
ls.append(input("insert string : "))
ls
결과
insert string : a
insert string : b
insert string : c
['a', 'b', 'c']
코드
n = int(input("number : "))
for _ in range(n):
print("dss")
결과
number : 3
dss
dss
dss
print("fast", "campus")
print("fast", "campus", sep="@")
print("fast", end="\t")
print("campus")
print("fast", end=" ")
print("campus")
a, b = 1234, "fastcampus"
print("number : {}, string: {}".format(a, b))
a, b = 1234, "fastcampus"
print("number : {num}, string: {string}".format(num=a, string=b))
a, b = 1234, "fastcampus"
print("number : {num}, string: {string}".format(string=b, num=a))
print("number : " + str(a) + ", string: " + b)
코드
dic = {"A":90, "B":70, "C":100, "D":90, "E":70, "F":100, "G":90, "H":70, "I":100}
print(dic)
결과
{'A': 90, 'B': 70, 'C': 100, 'D': 90, 'E': 70, 'F': 100, 'G': 90, 'H': 70, 'I': 100}
코드
from pprint import pprint
pprint(dic)
결과
{'A': 90,
'B': 70,
'C': 100,
'D': 90,
'E': 70,
'F': 100,
'G': 90,
'H': 70,
'I': 100}
if <condition>:
<code_1>
코드
state = True
if state:
print("if")
결과
if
코드
state = False
if state:
print("if")
print("end")
결과
end
if <condition>:
<code_1>
else:
<code_2>
코드
state = False
if state:
print("if")
else:
print("else")
결과
else
condition_1이 False이면 condition_2를 확인하여 condition_2가 True이면 code_2 가 실행됩니다.
if <condition_1>:
<code_1>
elif <condition_2>:
<code_2>
else:
<code_3>
코드
a, b = 30, 30
if a < b:
print("a < b")
elif a == b:
print("a == b")
else:
print("a > b")
결과
a == b
코드
if a < b:
print("a < b")
elif a == b:
print("a == b")
결과
a == b
코드
a, b = 30, 30
if a < b:
print("a < b")
if a == b:
print("a == b")
if a > b:
print("a > b")
결과
a == b
코드
a, b = 10, 20
if a < 20 and b < 10:
print("code 1")
else:
print("code 2")
결과
code 2
number = int(input("insert number : "))
if number <= 0:
print("error")
elif number % 2 == 0:
print("even")
else:
print("odd")
number = int(input("insert number : "))
if number % 15 == 0:
print("fizzbuzz")
elif number % 3 == 0:
print("fizz")
elif number % 5 == 0:
print("buzz")
else:
print(number)
number = int(input("insert number : "))
if number % 3 == 0:
print("fizz", end="")
if number % 5 == 0:
print("buzz")
if not( (number % 3 == 0) or (number % 5 == 0)):
print(number)
A if (condition) else B
코드
a = 0
if a:
print(1)
else:
print(2)
결과
2
코드
a = 0
True if a else False
결과
Fasle
코드
a = 1
True if a else False
결과
True
코드
b = 1
"male" if b == 1 else "female"
결과
male
코드
b = 2
result = "male" if b == 1 else "female"
result
결과
female
number = int(input("insert number : "))
result = "even" if number % 2 == 0 else "odd"
result
while <condition>:
<code>
* while 은 잘못사용하면 무한루프에 빠지기 때문에 주의해서 사용해야 합니다.
코드
a = 3
while a:
print(a)
a -= 1
a
결과
3
2
1
0
코드
a = 3
while a:
print(a)
if a == 2:
break
a -= 1
a
결과
3
2
2
코드
a = [1, 2, 3, 4, "q"]
idx = 0
while True:
data = a[idx]
idx += 1
if data == 'q':
break
elif data % 2 == 0:
continue
print(data)
idx
결과
1
3
5
q를 입력할때 까지 계속 값을 입력받아 입력받은 값을 q를 입력할때 리스트로 출력하는 코드를 작성하세요. 입력 데이터를 받을때는 몇번째 입력인지 출력해주세요.1번째 입력 (종료 : q) : dss
2번째 입력 (종료 : q) : data
3번째 입력 (종료 : q) : science
4번째 입력 (종료 : q) : q
['dss', 'data', 'science']
# TODO - input, print, list, if, while, 비교연산자
count, result = 1, []
while True:
data = input("{}번째 입력 (종료 : q) : ".format(count))
count += 1
if data == "q":
print(result)
break
result.append(data)
결과
1번째 입력 (종료 : q) : dss
2번째 입력 (종료 : q) : data
3번째 입력 (종료 : q) : science
4번째 입력 (종료 : q) : qwer
5번째 입력 (종료 : q) : q
['dss', 'data', 'science', 'qwer']
for <value> in <iterable> :
<code>
코드
ls = [0, 1, 2, 3, 4]
for value in ls:
print(value, end=" ")
결과
0 1 2 3 4
코드
ls = ["a","b","c", [1,2]]
for value in ls:
print(value, type(value))
결과
a <class 'str'>
b <class 'str'>
c <class 'str'>
[1, 2] <class 'list'>
코드
dic = {"A": 1, "B": 2}
for key in dic:
print(key)
결과
A
B
코드
dic.items()
결과
dict_items([('A', 1), ('B', 2)])
코드
for key, value in dic.items():
print(key, value)
결과
A 1
B 2
numbers = [1, 3, 5, 8, 10, 14]
result : 41
sum(numbers)
range(end)
range(start, end)
range(start, end, stride)
코드
ls = [0, 1, 2, 3, 4]
print(ls)
for _ in ls:
print("dss")
결과
[0, 1, 2, 3, 4]
dss
dss
dss
dss
dss
코드
# range(end)
list(range(5))
결과
[0, 1, 2, 3, 4]
코드
# range(end)
for value in range(5):
print(value, type(value))
결과
0 <class 'int'>
1 <class 'int'>
2 <class 'int'>
3 <class 'int'>
4 <class 'int'>
코드
list(range(2, 5))
결과
[2, 3, 4]
코드
list(range(1, 10, 2))
결과
[1, 3, 5, 7, 9]
코드
list(range(10, 1, -1))
결과
[10, 9, 8, 7, 6, 5, 4, 3, 2]
코드
a = 0
for _ in range(5):
a += 1
a
결과
5
2단
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
3단
3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27
4단
4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36
# TODO - 2중 for문
for num1 in range(2, 5):
print("{}단".format(num1))
for num2 in range(1, 10):
print("{}*{}={}".format(num1, num2, num1*num2))
print()
2*1=2 3*1=3 4*1=4 5*1=5 6*1=6 7*1=7 8*1=8 9*1=9
2*2=4 3*2=6 4*2=8 5*2=10 6*2=12 7*2=14 8*2=16 9*2=18
2*3=6 3*3=9 4*3=12 5*3=15 6*3=18 7*3=21 8*3=24 9*3=27
2*4=8 3*4=12 4*4=16 5*4=20 6*4=24 7*4=28 8*4=32 9*4=36
2*5=10 3*5=15 4*5=20 5*5=25 6*5=30 7*5=35 8*5=40 9*5=45
2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 7*6=42 8*6=48 9*6=54
2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 8*7=56 9*7=63
2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 9*8=72
2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
# TODO - 2중 for문, print(end)
for num2 in range(1, 10):
for num1 in range(2, 10):
print("{}*{}={}".format(num1, num2, num1*num2), end="\t")
print()
아래의 2개의 리스트 데이터를
subjects = ["korean", "english", "math", "science"]
points = [100, 80, 90, 60]
아래와 같이 딕셔너리 데이터로 만드는 코드를 작성하세요.
{'english': 80, 'korean': 100, 'math': 90, 'science': 60}
# TODO - list, dictionary, for
subjects = ["korean", "english", "math", "science"]
points = [100, 80, 90]
result = {}
count = len(points) if len(subjects) > len(points) else len(subjects)
for idx in range(count):
print(subjects[idx], points[idx])
result[subjects[idx]] = points[idx]
result
리스트 데이터를 index와 value값을 동시에 사용할 수 있게 해주는 함수입니다.
과목이름과 과목에 대한 순서를 출력
코드
subjects = ["korean", "english", "math", "science"]
number = 1
for value in subjects:
print(number, value)
number += 1
결과
1 korean
2 english
3 math
4 science
코드
subjects = ["korean", "english", "math", "science"]
for idx, value in enumerate(subjects):
print(idx + 1, value)
결과
1 korean
2 english
3 math
4 science
코드
tuple(enumerate(subjects))
결과
((0, 'korean'), (1, 'english'), (2, 'math'), (3, 'science'))
코드
subjects = ["korean", "english", "math", "science"]
points = [100, 80, 90, 60]
dict(zip(subjects, points))
결과
{'english': 80, 'korean': 100, 'math': 90, 'science': 60}
코드
tuple(zip(subjects, points))
결과
(('korean', 100), ('english', 80), ('math', 90), ('science', 60))
코드
# 3개의 데이터를 묶어줌 : dictionary로 생성되지 않음
grades = ["A","C","B","D"]
tuple(zip(subjects, points, grades))
결과
(('korean', 100, 'A'),
('english', 80, 'C'),
('math', 90, 'B'),
('science', 60, 'D'))
ls = [<value> for <value> in <list>]
ls = [<value> for <value> in <list> if <condition>]
코드
# method 1
ls = []
ls = [1, 2, 3, 4, 5]
print(ls)
# method 2
ls = []
ls.append(1)
ls.append(2)
ls.append(3)
ls.append(4)
ls.append(5)
print(ls)
# method 3
ls = []
for num in range(1,6):
ls.append(num)
print(ls)
# method 4
ls = []
ls = [num for num in range(1,6)]
print(ls)
결과
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
%%timeit
# for문 사용
ls = []
for num in range(1,10000):
ls.append(num)
960 µs ± 16.7 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
%%timeit
# list comprehention 사용
ls = [num for num in range(1,10000)]
354 µs ± 6.34 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
코드
ls = [
str(num) + ":even" if num % 2 == 0 else str(num) + ":odd"
for num in range(1, 11)
]
ls
결과
['1:odd',
'2:even',
'3:odd',
'4:even',
'5:odd',
'6:even',
'7:odd',
'8:even',
'9:odd',
'10:even']
코드
ls = [ number for number in range(1, 11) ]
print(ls)
결과
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
코드
ls = [ number for number in range(1, 11) if number % 2 == 0 ]
print(ls)
결과
[2, 4, 6, 8, 10]
(입력) => ["kim test", "park python", "lee data", "jung science", "lee school"]
(결과) => ["park python", "data", "jung science", "school"]
코드
# TODO - list comprehention, 삼항연산, string.split
names = ["kim test", "park python", "lee data", "jung science", "lee school"]
result = [
name.split(" ")[1] if name.split(" ")[0] == "lee" else name
for name in names
if name.split(" ")[0] != "kim"
]
result
# ["park python", "data", "jung science", "school"]
결과
['park python', 'data', 'jung science', 'school']
* 랜덤함수
import random
# 1 ~ 10 중 하나의 정수가 랜덤하게 출력
random.randint(1, 10)
# 1,5,9 중 하나의 데이터가가 랜덤하게 출력
random.choice([1, 5, 9])
[3, 8, 15, 22, 27, 29]
코드
# TODO - while, break, if, in, list, append
import random
lotto = []
while True:
number = random.randint(1, 45)
if number not in lotto:
lotto.append(number)
if len(lotto) >= 6:
lotto.sort()
break
lotto
결과
[15, 20, 21, 27, 30, 45]