티스토리 뷰

이번 수업에서 배운 내용 중 중요하다고 생각되는 부분을 정리했습니다. 

 

입출력

input() 함수

데이터형 주의하기

 

print() 함수

end 인자는 개행문자 대신에 출력할 문자를 지정할 수 있다.

sep 인자는 공백 대신에 넣을 문자를 지정할 수 있다.

 

\n 줄 바꿈

\t

\\ 역슬래쉬를 문자로 인식

\' \" 따옴표 문자로 인식

 

%d  정수

%f  실수

%c  문자

%s  문자열

%o  8진수

%x  16진수

 

{1:5.1f} == 두 번째 %5.1f

 

변수와 데이터형

쉬워서 패스

 

연산자

비트 연산자: 정수를 2진수로 변환한 후 각 자리의 비트끼리 연산을 수행한다. 

 

& 비트 논리곱(and)

| 비트 논리합(or)

^ 비트 논리적 베타합(xor)

~ 비트 부정

  => 모든 0은 1로, 1은 0으로 바꾼다. 이를 1의 보수라고 하고, 그 값에 1을 더한 값을 2의 보수라고 한다.

  => 컴퓨터에서 - 연산을 할 때는 2의 보수를 취해 계산하는 방법을 이용한다고 함.

<< 비트 이동(왼쪽)

  => 0101011에서 << 2를 취하면 01/0101100 뒤로 두 칸씩 이동 후 빈자리에 0을 채워 넣음. 그리고 기준 할당크기에 넘어가는 부분은 삭제

>> 비트 이동(오른쪽)

 

조건문

삼항연산자: variable = A if 조건 else B

c언어에 비해서 난잡하다. 안 쓰고 싶음

 

실습 과제

##########################
## 실습 1 성적 프로그램 ##
##########################

kor = float(input("국어점수 입력하세요: "))
eng = float(input("영어점수 입력하세요: "))
mat = float(input("수학점수 입력하세요: "))

print("\n", end='')
print(" 국어  :  %.1f" % kor)
print(" 영어  :  %.1f" % eng)
print(" 수학  :  %.1f" % mat)
print("="*15)
print(" 합계  :  %.1f" % (kor + eng + mat))
print(" 합계  :  %.1f" % ((kor + eng + mat)/3))

############################
## 실습 2 표중체중 구하기 ##
############################

print("표준체중을 구하는 프로그램입니다.")
print("계속하려면 <Enter>키를 누르세요")
input()

name = input("이름을 입력하세요 : ")
high = float(input("키를 입력하세요 : "))
weight = float(input("몸무게를 입력하세요 : "))
stw = (high-100)*0.9

print("="*15)
print("\"%s\"님 반갑습니다" % name)
print("키: %.1f 몸무게: %.1f >> 표중체중: %.2f" % (high, weight, stw))
print("표준체주과의 차이는 %+.2fkg입니다." % (weight-stw))
print("="*15)


########################################
## 실습 3 간단한 산술 계산기 프로그램 ##
########################################

First_Num = int(input("첫 번째 수를 입력하세요 : "))
fx = input("계산할 연산자를 입력하세요 : ")
Second_Num = int(input("두 번째 수를 입력하세요 : "))
res = 0

if fx == "+" : res = First_Num + Second_Num
elif fx == "-": res = First_Num - Second_Num
elif fx == "*": res = First_Num * Second_Num
elif fx == "/": res = First_Num / Second_Num # type(res) //float
elif fx == "%": res = First_Num % Second_Num
elif fx == "//": res = First_Num // Second_Num
elif fx == "**": res = First_Num ** Second_Num

print("%d %s %d = %d" % (First_Num, fx, Second_Num, res))



########################################
## 실습 4 장학생-합격-불합격 판정하기 ##
########################################

name = input("학생의 이름 : ")
grade = input("국어, 영어, 수학 점수 차례로 입력 : ").split(" ")
cul = int(input("출결 점수 : "))

stg = (int(grade[0]) + int(grade[1]) + int(grade[2]) + cul)/4


print("\n", end='')
print("="*15)
print("네개 점수의 평균 : %.1f" % stg)
print("출결 점수: %d" % cul)
print("="*15)

print("\n", end='')
print("[%s] 학생 >> " % name, end='')

if stg >= 90 and cul == 100: print("합격! 장학생으로 선정되었습니다")

elif stg >= 70 and cul >= 80: print("합격!")

else: print("불합격")

문제 난이도는 쉬웠으나 문제에서 요구하는 조건이 많았다. 만약 코딩을 많이 접하지 않은 사람이라면 가독성 높은 소스코드를 만들기에는 어려움이 있을 거 같다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함