티스토리 뷰
이번 수업에서 배운 내용 중 중요하다고 생각되는 부분을 정리했습니다.
입출력
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("불합격")
문제 난이도는 쉬웠으나 문제에서 요구하는 조건이 많았다. 만약 코딩을 많이 접하지 않은 사람이라면 가독성 높은 소스코드를 만들기에는 어려움이 있을 거 같다.
'CODING > Python' 카테고리의 다른 글
| 경북대 예비대학 파이썬교육 (6일차) (문자열, 함수와 모듈, 클래스) (0) | 2023.02.20 |
|---|---|
| 경북대 예비대학 파이썬교육 (5일차) (리스트, 튜플, 딕셔너리, 세트 자료형) (0) | 2023.02.20 |
| 경북대 예비대학 파이썬교육 (중간고사 문제 + 4일차) (0) | 2023.02.17 |
| 경북대 예비대학 파이썬교육 (3일차 + 중간고사 전 마지막정리) (0) | 2023.02.16 |
| 경북대 예비대학 파이썬교육 (1일차) (0) | 2023.02.13 |