티스토리 뷰



[1~n 까지의 합 리턴]

def foo(n):
s = 0
for i in range(1, n+1):
s += i
return s

comprehension

def foo(n):
return sum([i for i in range(1, n+1)])

range

def foo(n):
return sum(range(1, n+1))



[1~n 까지 짝수의 합 리턴]

def foo(n):
s = 0
for i in range(1, n+1):
if i % 2 == 0:
s += i
return s

comprehension

def foo(n):
return sum([i for i in range(1, n+1) if i % 2 == 0])



[1~n 까지 홀수의 합 리턴]

def foo(n):
s = 0
for i in range(1, n+1):
if i % 2 == 1:
s += i
return s

comprehension

def foo(n):
return sum([i for i in range(1, n+1) if i % 2])



[1~n 까지 n/2 보다 작고 3의 배수의 합 리턴]

def foo(n):
s = 0
for i in range(1, n//2):
if i % 3 == 0:
s += i
return s

comprehension

def foo(n):
return sum([i for i in range(1, n//2) if i % 3 == 0])



[1~n  까지 숫자 중에 t 가 있으면 True, 없으면 False 리턴]

def foo(n, t):
for i in range(1, n+1):
if i == t:
return True
return False

comprehension

def foo(n, t):
return bool([i for i in range(1, n+1) if i == t])



[1~n 까지 숫자중에 t 의 배수의 합 리턴] 

def foo(n, t):
s = 0
for i in range(1, n+1):
if i % t == 0:
s += i
return s

comprehension

def foo(n, t):
return sum([i for i in range(1, n+1) if i % t == 0])



[a~b 까지 숫자의 합 리턴]

def foo(a, b):
s = 0
for i in range(a, b+1):
s += i
return s

comprehension

def foo(a, b):
return sum([n for n in range(a, b+1)])

range

def foo(a, b):
return sum(range(a, b+1))



[가로 x, 세로 y 만큼 "*" 출력]

def foo(x, y):
for _ in range(y):
print("*"*x)

comprehension

def foo(x, y):
print("\n".join(["*"*x for _ in range(y)]))



[문자열 s 에  문자열 t 가 포함 되어 있는지 확인, 있으면 True, 없으면 False 리턴]

def foo(s, t):
for c in s:
if c == t:
return True
return False

comprehension

def foo(s, t):
return bool([c for c in s if c == t])

item in items

def foo(s, t):
return t in s



[문자열 s 에 문자열 t 가 몇개인지 정수를 리턴]

def foo(s, t):
ct = 0
for c in s:
if c == t:
ct += 1
return ct

comprehension

def foo(s, t):
return len([c for c in s if c == t])



[문자열 s 가 모두 숫자면 True, 아니면 False 리턴]

def foo(s):
for c in s:
if c not in "0123456789":
return False
return True

isdigit()

def foo(s):
return s.isdigit()



[문자열 s 의 모든 요소의 숫자를 더한 합을 정수로 리턴]

def foo(s):
r = 0
for c in s:
if c.isdigit():
r += int(c)
return r

comprehension

def foo(s):
return sum([int(c) for c in s if c.isdigit()])



[리스트 ns 의 모든 요소를 -1로 수정후 ns 리턴]

def foo(ns):
for i in range(len(ns)):
ns[i] = -1
return ns

enumerate

def foo(ns):
for i, _ in enumerate(ns):
ns[i] = -1
return ns

comprehension

def foo(ns):
return [-1 for _ in range(len(ns))]



[리스트 ns 의 모든 요소를 한줄에 하나씩 출력]

def foo(ns):
for n in ns:
print(n)

enumerate

def foo(ns):
for i, _ in enumerate(ns):
print(ns[i])

comprehension

def foo(ns):
print("\n".join([str(n) for n in ns]))



[리스트 ns 의 모든 요소에 10 더한후 ns 리턴]

def foo(ns):
for i, _ in enumerate(ns):
ns[i] += 10
return ns

comprehension

def foo(ns):
return [n+10 for n in ns]



[리스트 ns 에서 요소의 값이 짝수인 인덱스의 리스트 r 리턴]

def foo(ns):
r = []
for i in range(len(ns)):
if ns[i] % 2 == 0:
r.append(i)
return r

enumerate

def foo(ns):
r = []
for i, n in enumerate(ns):
if n % 2 == 0:
r.append(i)
return r

comprehension

def foo(ns):
return [i for i, n in enumerate(ns) if n % 2 == 0]



[2중 for 문으로 아파트 호실 표기]


- 한층에  f01호, f02 호 ... f0h 호까지 존재

- f 층까지 존재

- f=4, h=3 일때 최종적으로 만들어질 리스트는

[101, 102, 103, 201, 202, 203, 301, 302, 303, 401, 402, 403]


f, h = 4, 3
ns = []
for i in range(1, f+1):
for j in range(1, h+1):
ns.append(i*100+j)


ns = [i*100+h for i in range(1, f+1) for j in range(1, h+1)]


ns = [i+h for i in range(100, f*100+1, 100) for j in range(1, h+1)]


댓글