Python 기초 2

Lilmeow·2023년 4월 12일
0

Python Basic

목록 보기
2/7
post-thumbnail

If

question = input('how\'s the wheather? : ') # 입력한 문자열이 변수에 저장
if question == 'rain' or question == 'snow':
	print('take a umbrella')
elif question == 'fine dust':
	print('take a mask')
else:
	print('need no anything')

temp = int(input('What\'s the temperature? : ')) # 입력한 정수가 변수에 저장
if 30 <= temp:
	print('hot')
elif 10 <= temp < 30:
	print('good')
elif 0 <= temp < 10:
	print('cold')
else:
	print('don\'t go out')

For

for wait in [0, 1, 2, 3, 4, 5, 6]: # 리스트 속 요소들이 0부터 6까지 하나씩 wait에 들어가 for문 실행
	print('{0}'.format(wait))
for wait in range(5): # range의 리스트 0부터 4까지 하나씩 wait에 들어가 for문 실행
	print('{0}'.format(wait))
for wait in range(1, 6): # range의 리스트 1부터 6까지 ...
	print('{0}'.format(wait))

abc = ['a', 'b', 'c']
for ddd in abc: # abc라는 리스트에 있는 요소들을 순서대로 ddd에 대입하여 for문 실행
	print('{0}'.format(ddd))
    
# 중첩 사용
for i in range(5):
    print('i:', i, sep = '')
    for j in range(5):
        print('j:', j, sep = '', end = ' ')
    print('\n')
# i:0
# j:0 j:1 j:2 j:3 j:4 
#
# i:1
# j:0 j:1 j:2 j:3 j:4 
#
# i:2
# j:0 j:1 j:2 j:3 j:4 
#
# i:3
# j:0 j:1 j:2 j:3 j:4 
#
# i:4
# j:0 j:1 j:2 j:3 j:4

for i in range(5):
    for j in range(i + 1):
        print('*', end = ' ')
    print()
# * 
# * * 
# * * * 
# * * * * 
# * * * * * 

for i in range(5):
    for j in range(5 - i):
        print('*', end = ' ')
    print()
# * * * * * 
# * * * * 
# * * * 
# * * 
# * 

While

aaa = 'A'
index = 5
while index >= 1:
	print('{0}, {1}'.format(aaa, index))
    index -= 1
    if index == 0:
    	print('index : 0')
# A, 5
# A, 4
# A, 3
# A, 2
# A, 1
# index : 0

bbb = 'B'
person = 'Unknown'
while person != bbb: # person과 bbb가 같지 않을 때(조건 불충족), while문은 계속 실행
	print('{0}'.format(bbb))
    person = input('What is your name? : ') # person == bbb일 때, while문 탈출
print('input = B')

Continue, Break

absent = [2, 5]
no_book = [7]

for student in range(1, 11): # 1 ~ 10까지 student에 들어가서 실행
	if student in absent: # student 값이 absent라는 리스트에 존재한다면 continue 실행
    	print('absent : ', student)
    	continue # if문 다음 문장들을 건너뛰고 다음 range의 student 값을 읽어 for문을 계속 실행
	elif student in no_book: # student 값이 no_book이라는 리스트에 존재한다면 elif문 실행
		print('no_book : {0} and Break'.format(student))
        break # for문 탈출
	print('{0}'.format(student))
print('for문 탈출')
# 1
# absent :  2
# 3
# 4
# absent :  5
# 6
# no_book : 7 and Break
# Exit for

한 줄 For문

alist = [1, 2, 3, 4, 5]
alist = [i + 100 for i in alist]
print(alist)
# [101, 102, 103, 104, 105]

blist = ['a', 'bb', 'ccc', 'dd', 'e']
blist = [len(i) for i in blist]
print(blist)
# [1, 2, 3, 2, 1]

clist = ['Abcd', 'aBcd', 'abCd']
clist = [i.upper() for i in clist]
print(clist)
# ['ABCD', 'ABCD', 'ABCD']

# all(iterable) : iterable의 요소들이 전부 True면 True 반환 아니면 False 반환
print(all(['a', False]))
print(all([]))
alist = [True, True, False]
print(all(alist))
# False
# True
# False

# 응용
alist = [23, 66, 36, 53, 19]
if all(60 > i for i in alist): # alist의 모든 원소가 60보다 작은가 -> False -> else문 실행
    print('Y')
else:
    print('N')
# N

+ Quiz

1. '1 ~ N' 홀수 출력

# 풀이 1
N = int(input('N : '))
inlist = list(range(1, N + 1))
outlist = []
for i in inlist:
    if i % 2 == 0:
        continue
    outlist.append(i)
print(outlist)
# N : (10)
# [1, 3, 5, 7, 9]

# 풀이 2 간단한 함수 이용
def Odd(N):
    outlist = []
    for i in range(1, N + 1):
        if i % 2 == 0:
            continue
        outlist.append(i)
    print(outlist)

Odd(int(input('N : ')))
# N : (10)
# [1, 3, 5, 7, 9]

2. '1 ~ N' 총합

# 풀이 1
S = int(input('S : '))
inlist = list(range(1, S + 1))
k = 0
for i in inlist:
    k = k + i
    if i == S:
        print(k)
# S : (5)
# 15

# 최적 : list(range())를 작성할 필요 없이 in 다음에 range를 바로 사용
S = int(input('S : '))
k = 0
for i in range(1, S + 1):
    k = k + i
    if i == S:
        print(k)
# S : (5)
# 15
        
# 최적2 : 간단한 함수 사용
def Sum(S):
    k = 0
    for i in range(1, S + 1):
        k = k + i
        if i == S:
            print(k)
            
Sum(int(input('S : ')))
# S : (5)
# 15

3. N의 약수 출력

# 풀이 1
N = int(input('D : '))
divisors = []
for i in range(1, N + 1):
    if N % i == 0: # 나누어 떨어지면 i는 N의 약수
        divisors.append(i) # 빈 리스트에 순서대로 요소 추가
print(divisors)

# 간단한 함수 사용
def find_divisors(n):
    divisors = []
    for i in range(1, n + 1):
        if n % i == 0:
            divisors.append(i)
    return divisors

find_divisors(int(input('D : ')))

0개의 댓글