수업은 한국전파진흥협회 서초사옥에서 진행됐고, 첫커리큘럼은 파이썬 프로그래밍으로 시작했다.
첫날은 자료형부터 반복문 for 까지 학습했고, 느낀점 딱 한가지는 while문 쓰기 싫고 for문으로 구현하는게 편리한 것 같다
강사님이 연습문제 10문제를 숙제로 내주셨다.
velog의 코드는 모두 주석처리 할것이다. vscode상에서 주석 삭제 명령 내리면 실행 가능하다.
#1번 1~100사이의 정수 중에서 3의 배수의 합을 출력하시오 while문을 쓸 것.
i = 1
sum =0
while i<=100:
i +=1
if i%3==0:
sum = sum + i
print(sum)
#2번 1~100사이의 정수 중에서 3의 배수이나 2의 배수가 아닌 수를 출력하고, 합을 구하여 출력하시오 while문으로 구현 할 것.
i = 1
sum=0
while i<=100:
i+=1
if ((i%3==0) and (i%2!=0)):
sum = sum + i
print(i)
print(sum)
#3번 정수 -1,3,-5,7,-9 ...~99 까지의 합을 출력하시오 while문으로 구현 할 것.
i = -3
sum1 = 0
while i<=94:
i = i + 4
sum1 = sum1 +i
j=-1
sum2 = 0
while j<=95:
j = j+4
sum2 = sum2 + j
print((-1)*sum1 + sum2)
#4번 별모양 쌓기
i=0
while i<5:
i+=1
print("*"*i)
#5번 중첩 while문을 사용하여 구구단 중에서 2단, 3단을 출력하시오.
i=2
while i<4:
j=1
while j<10:
print('{} * {} = {}'.format(i,j,i*j))
j+=1
i+=1
#6번 while문과 break 문을 사용하여 컴퓨터의 1~10사이의 랜덤한 수와 사용자가 입력한 정수를 맞추는 프로그램 구현
import random
num = random.randint(1,10)
while True:
i = int(input('1~10사이 정수 입력해주세요'))
if num==i:
print('정답 컴퓨터 :{},당신{}'.format(num,i))
break
#7 번 시작
import time
from unittest import result
yn = 'y' #데이터를 더 입력받을 거면 True, 끝날거면 False
count = 0 #데이터 입력 받은 건수
result = ''
now= time.localtime() #현재 시스템의 날짜와 시간
print(now)
today = int(now.tm_year) #현재 날짜에서 년도만 뽑아서 today에 저장
#print(today)
#사원의 정보 입력받기
while yn=='y':
data = input('사번, 이름, 기본급, 입사년도 입력하세요 :')
# print(data)
# data의 내용을 쉼표를 기준으로 분리시킴
list = data.split(',')
# print(list[1])
no = list[0] #사번
name = list[1] #이름
pay = int(list[2]) #기본급
year = int(list[3]) #입사년도
year2 = today - year #근무년수
if year2 >=9:
pay2 = 1500000
elif year2 >=4:
pay2 = 1000000
else:
pay2 = 500000 #수당표에 의한 근속 수당 계산
totalpay = pay + pay2 #급여액
#공제액 계산
if totalpay >= 5000000:
tax = totalpay * 0.03
if totalpay >= 4000000:
tax = totalpay * 0.02
else:
tax = totalpay * 0.01
# 실수령액
realpay = totalpay - tax
# 처리건수 증가
count +=1
#출력
result+= '%s\t%s\t%d\t%d\t%d\t%d\t%d\n'%(no, name, pay, year2, pay2, tax, realpay)
yn = input('계속 입력하시겠습니까? [y/n]')
print('사번\t이름\t기본급\t 근무년수\t 근속수당\t 공제액\t 수령액\n')
print(result)
print('처리 건수 : %d'%count)
#8번 두개의 리스트 각요소의 차이 계산하기
panmaeSudang = [55,67,100]
insaSudang = [50,60,100]
i = 0
diff = []
for i in range(3):
diff = panmaeSudang[i] - insaSudang[i]
print(diff)
#9번 1~100 사이의 정수 중 3의 배수 이고 5의 배수인 정수의 합 for문으로 구현
sum = 0
for i in range(100):
i +=1
if i%3==0 and i%5==0:
print(i)
sum = sum + i
print(sum)
#10번 for문 사용하여 구구단을 완성하기
for i in range(2,10):
for j in range(1,10):
print('{} * {} = {}'.format(i,j,i*j),end = '\t')
if j==9 :
print()
3,7번 문제가 상당히 까다로웠다 3번은 주변 친구들에게 물어보니까 짝수번째 홀수번째 나눠서 푸는 방법도 있다고 했다 다시 풀어볼 예정이다.
7번은 쉼표로 분리할 수 있는 split 함수도 적용해 볼 수 있었다. 출력방법도 가지각색이라 나만의 출력방법을 찾아야겠다.