오늘은 꼭 목표까지 공부하자!!
아자 아자!!
파이썬 기초1
파이썬 기초2~3
파이썬 기초4
파이썬 기초5
파이썬 기초6
파이썬 기초7
파이썬 기초8
파이썬 기초9~10
반복문
횟수에 의한 반복문(for문)
반복 범위 설정(range()함수)
조건에 의한 반복(while문)
for문과 while문 비교
무한루프
반복문 제어(continue)
반복문 제어(break)
중첩반복문
파이썬 기초문풀1
파이썬 기초문풀2
파이썬 기초문풀3
📝 weekly 데이터 사이언스 스쿨 퀴즈
for문 : 쉽고 직관적이다.while문 : 조건에 의한 반복문을 사용할때 사용한다.
for i in range(n): 조건문
[들여쓰기] print( ) : 실행문
구구단 출력해보기
for i in range(10): # 변수_i / 실행횟수_n
print('{} * {} = {}'.format(7, i, (7 * i)))
pass : 아직 실행문이 정해지지않음, 반복하되 실행하지 않겠다.(실행문 대신에 사용)
:(코드블록), 들여쓰기 : 동일하게 들여쓰기를 하자.
실습_01
'Hello python'문자열을 5번 출력하는 코드를 작성하자
for num in range(5):
print('Hello python')
range()함수 : 반복이 가능한 개체만 넣어준다.
for i in range (시작, 끝, 단계)
실습_02
사용자가 반복의 시작과 끝으 ㄹ입력하면 1씩 증가하는 반복문을 만들어 보자.
startNum = int(input('반복의 시작 입력 : '))
endNum = int(input('반복의 끝 입력 : '))
for i in range(startNum, (endNum+1)):
print(i)
위에서 작성한 반복문을 이용해서 2씩 증가하는 반복문을 만들어 보자.
for i in range(startNum, (endNum+1), 2):
print(i)
실습_03
1에서 100까지의 정수중 3의 배수에 해당하는 정수만 출력하는 코드를 작성하자.
for i in range(1, 101):
if i % 3 == 0:
print(i)
while 조건식 : 조건문
[들여쓰기] print( ) : 실행문
[들여쓰기] n += 1 / 무한루프를 방지
pass : 아직 실행문이 정해지지않음, 반복하되 실행하지 않겠다.(실행문 대신에 사용)
:(코드블록), 들여쓰기 : 동일하게 들여쓰기를 하자.
실습_04
1에서 100까지의 정수중 2의 배수와 3의 배수를 구분해서 출력하자.
n = 1
while n < 101 :
if n % 2 == 0:
print('{}은 2의 배수이다.'.format(n))
if n % 3 == 0:
print('{}은 3의 배수이다.'.format(n))
n += 1
실습_05
while문을 이용해서 사용자가 입력한 구구단을 출력하자.
gugudanNum = int(input('희망구구단을 입력하세요 : '))
n = 1
while n < 10 :
result = gugudanNum * n
print('{} * {} = {}'.format(gugudanNum, n, result))
n += 1
for문이 적합한 경우
횟수의 의한 반복이라면 for문이 while문보다 적합하다.
while문이 적합한 경우
조건의 의한 반복이라면 while문이 for문이 보다 적합하다.
실습_05
자동차 바퀴가 한번 구를때마다 0.5mm씩 마모 된다고 한다.
현재의 바퀴두께가 30mm이고 최소 운행 가능 바퀴 두께가 20mm라고 할 때
앞으로 구를수 잇는 횟수를 구해보자.
- 휫수를 알수 없으니, 조건문에 적합한 whlie문을 이용한다.
currentThickness = 30
rotationCount = 0
removeThickness = 0.15
while currentThickness >= 20:
rotationCount += 1
currentThickness -= removeThickness
safeRotationCount = rotationCount - 1 # 20이하로 내려가지 않게 올림 해줌
print('운행가능 횟수 : {}'.format(safeRotationCount))
while문에서 조건식의 결과가 항상 True인 경우if문을 사용하여 무한루프를 빠져나올수 있다.실습_06
하루에 독감으로 병원에 내방하는 환자수가 50명에서 100명사이일 때,
누적 독감 환자수가 최초 10,000명을 넘는 날짜를 구해보자.
import random
sum = 0
date = 1
flag = True
while flag:
patienCount = random.randint(50,100)
sum += patienCount
print('날짜: {}, \t 오늘 환자수: {}, \t 누적 환자수: {}'.format(date, patienCount, sum))
if sum >= 10000:
flag = False
반복 실행 중 continue를 만나면 실행을 생략하고, 다음 반복 실행문으로 넘어간다.
예시
for i in range(100):
if i % 7 != 0:
continue
print('{}는 7의 배수입니다.'.format(i))
else의 실행문은 for문의 반복문(반복작업)이 종료된 후 실행된다.
예시
cnt = 0
for i in range(100): # 0~99까지 진행하면서 7의 배수만 실행
if i % 7 != 0:
continue
print('{}는 7의 배수입니다.'.format(i))
cnt += 1
else:
print("99까지의 정수 중 7의 배수는 {}개입니다.". format(cnt))
실습_07
1부터 100까지의 정수 중 3과 7의 공배수와 최소공배수를 출력하자.
minNum = 0
for i in range(1,101):
if i % 3 != 0 or i % 7 != 0:
continue
print('공배수: {}'.format(i))
if minNum == 0:
minNum = i
else:
print('최소 공배수: {}'. format(minNum))
반복 실행 중 break를 만나면 반복문을 빠져 나온다.
실습_08
10의 팩토리얼(10!)을 계산하는 과장에서 결과값이 50을 넘을떄의 숫자를 구하자.
result = 1 # 결과값
num = 0
for i in range(1, 11):
result *= i
if result > 50:
num = i
break
print('num: {}, result: {}'.format(num, result))
실습_09
새끼 강아지의 체중이 2.2kg가 넘으면 이유식을 중단하려고 한다.
한번 이유식을 먹을떄ㅖ 체중이 70g 증가한다고 할때,
예상되는 이유식 날짜를 구하자.(현재 체중은 800g이다.)
limitWeight = 2200 # 결과값
currentWeight = 800 # 현재값
date = 1 # 변수
while True:
if currentWeight >= 2200:
break
date += 1
currentWeight += 70 # 한번 먹을때 70g증가 _조건식
print('이유식 중단 날짜 : {}일'.format(date))
예시
for i in range(10, 0, -1):
for j in range(i):
print('*', end='')
print()
실습_10
구구단 전체를 출력하자.
for i in range(1, 10):
for j in range(2, 10):
result = j * i
print('{} * {} = {}\t'.format(j, i, result), end='')
print()
주문확인서 템플릿 만들기
name = '홍길동'
product = '야구글러브'
orderNo = 2568956
payMethod = '신용카드'
productPrice = 110000
payPrice = 100000
usePoint = 10000
payDate = '2021/08/03 21:50:12'
payDiv = 6
payDivCategory = '무'
phone = '02-1234-5678'
print('-' * 50)
print(name, '고객님 안녕하세요.')
print(name, '고객님의 주문이 완료되었습니다.')
print('다음의 주문건에 대한 상세 내역입니다.')
print('-' * 50)
print('상품명 : {}'.format(product))
print('주문번호 : {}'.format(orderNo))
print('결재방법 : {}'.format(payMethod))
print('상품금액 : {}원'.format(productPrice))
print('결재금액 : {}원'.format(payPrice))
print('포인트 : {}'.format(usePoint))
print('결제일시 : {}'.format(payDate))
print('할부 : {}개월'.format(payDiv))
print('할부유형 : {}'.format(payDivCategory))
print('문의 : {}'.format(phone))
print('-' * 50)
print('저희 사이트를 이용해 주셔서 감사합니다.')
len() 함수 : 문자 길이 반환
사용자가 입력한 데이터의 길이를 출력하는 프로그램을 만들어보자.
userMsg = input('메세지 입력 : ')
print('메세지 문자열 길이 : {}'.format(len(userMsg)))
find() 함수 :
객체지향 문자열(0부터 특정문자의 위치를 찾는다.)을 찾아 보자.
article = '모든 함수가 일단 클래스 안에 있어야 하며, 전역 함수는 static 함수를 사용하는 형태로 짜야 한다. \
그나마 객체지향이라는 직관성은 C#이 Python보다 더 좋은 편이다. \
두 언어는 서로 다른 용도로 사용되는 경우가 많지만 OpenCV와 같은 곳에서는 둘 다 사용할 수 있기도 하다.'
strIdx = article.find('객체지향')
print('객체지향 문자열 위치 : {}'.format(strIdx))
사용자가 입력한 데이터를 모두 실수로 변경한후 사각현, 삼각형의 넓이를 출력해보자.
width = float(input('가로 길이 입력 : '))
height = float(input('세로 길이 입력 : '))
triangleArea = width * height /2
squareArea = width * height
print('-' * 13, 'Result', '-' * 13)
print('삼각형 넓이 : %f' % triangleArea)
print('사각형 넓이 : %f' % squareArea)
print('삼각형 넓이 : %.2f' % triangleArea)
print('사각형 넓이 : %.2f' % squareArea)
print('-' * 34)
원의 반지르을 입력하면 원의 넓이와 둘레 길이를 출력하되,
아래의 형식으로 출력해보자.
정수
소수점 한자리
소수점 셋째자리
r = int(input('반지름(cm) 입력 : '))
pi = 3.14
area = pi * r * r
cir = 2 * r * pi
print('원의 넓이 : %dcm' % area)
print('원의 둘레 : %dcm' % cir)
print('원의 넓이 : %.1fcm' % area)
print('원의 둘레 : %.1fcm' % cir)
print('원의 넓이 : %.3fcm' % area)
print('원의 둘레 : %.3fcm' % cir)
사용자로 부터 입력받은 개인정보를 포맷 문자열을 이용해서 다음과 같이 출력해보자.
name = input('이름 입력 : ')
mail = input('메일 입력 : ')
id = input('아이디 입력 : ')
pw = input('비밀번호 입력 : ')
privateNumber1 = input('주민번호 앞자리 입력 : ')
privateNumber2 = input('주민번호 뒷자리 입력 : ')
address = input('주소 입력 : ')
pwStar = '*' * len(pw)
privateNumberStar = privateNumber2[0] + ('*' * 6)
print('-' * 36)
print(f'이름 : {name}')
print(f'메일 : {mail}')
print(f'아이디 : {id}')
print(f'비밀번호 : {pwStar}')
print(f'주민번호 : {privateNumber1} - {privateNumberStar}')
print(f'주소 : {address}')
print('-' * 36)
srt() 함수 : str에 저장된 문자열에서 첫번째 문자를 반환함
컨디션이 안좋아졌다.
포항 다녀오면서 너무 무리를 했나 보다.
역시 시집살이 힘들어 ㅠ (동동이 이거 보지마!)
파이썬 코드 쓸때 '-' * 이거 귀여운것 같음
print('-' * 36)
역시 힘들때엔 귀여운거 보는게 힐링이 됨 ㅎㅎㅎ