# 수우미양가
# 국어 영어 수학 성적을 입력받아 총점과 평균, 성적을 프린트 하시오
def total(k, e, m) : # 총합을 반환하는 함수
return k + e + m
def avg(k, e, m) : # 평균을 반환하는 함수
return (k + e + m) / 3
def grade(average) : # 평균을 입력받아 성적을 반환하는 함수수
if average >= 90 :
return "수"
elif average >= 80 :
return "우"
elif average >= 70 :
return "미"
elif average >= 60 :
return "양"
else :
return "가"
kor = int(input("국어 점수 : "))
eng = int(input("영어 점수 : "))
math = int(input("수학 점수 : "))
print(total(kor, eng, math)) # 총합
print(avg(kor, eng, math)) # 평균
print(grade(avg(kor, eng, math))) # 성적
if
: 조건이 참일 때만 실행한다.
if else
: 조건이 참이면 if 블록, 거짓이면 else 블록을 실행한다.
: else가 있으면 if 또는 else에서 한 번은 실행된다.
if elif (else)
: 여러 조건을 순서대로 검사하고 참인 조건이 있으면 그 블록을 실행하고 빠져나간다.
: 모두 거짓이면 else 블록을 실행한다.
: else는 존재하지 않을수도 있다.
del 은 메모리에서 삭제하는 명령어다.
del list[:]
list에 저장된 값을 모두 삭제한다.
list를 출력하면 []가 나온다.
del list
list 자체가 사라져 list를 출력하려고 하면 오류가 발생한다.
del list[2:]
st[2]부터 끝까지 삭제했다.
del list[0]
list[0]이 삭제됐다.
if -1 : print("참")
else : print("거짓")
bool(0)은 False
그 외 숫자들을 넣을경우 True
-1은 0이 아니므로 True 이기 때문에 "참"이 출력될 것이다.
# 사용자로부터 값을 입력받은 후 해당 값에 20을 더한 값을 출력하라.
# 단 사용자가 입력한 값과 20을 더한 계산 값이 255를 초과하는 경우 255를 출력해야 한다.
num = int(input())
num += 20
if num > 255 : # 255보다 큰 경우
print(255)
else :
print(num)
# 사용자로부터 하나의 값을 입력받은 후 해당 값에 20을 뺀 값을 출력하라.
# 단 출력 값의 범위는 0~255이다.
# 예를 들어 결괏값이 0보다 작은 값이되는 경우 0을 출력하고 255보다 큰 값이 되는 경우 255를 출력해야 한다.
num = int(input())
num -= 20
if num > 255 : # 255보다 큰 경우
print(255)
elif num < 0 : # 0보다 작은 경우
print(0)
else :
print(num)
# 휴대폰 번호 앞자리에 따라 통신사는 아래와 같이 구분된다.
# 사용자로부터 휴대전화 번호를 입력 받고, 통신사를 출력하는 프로그램을 작성하라.
# 번호 통신사
# 011 SKT
# 016 KT
# 019 LGU
# 010 알수없음
pnum = input("휴대전화번호 입력 : ")
if pnum.startswith("011") :
print("당신은 SKT 사용자입니다.")
elif pnum.startswith("016") :
print("당신은 KT 사용자입니다.")
elif pnum.startswith("019") :
print("당신은 LGU 사용자입니다.")
elif pnum.startswith("010") :
print("알 수 없습니다.")
# 주민등록번호 뒷 자리 7자리 중 첫째 자리는 성별을 나타내는데, 1, 3은 남자 2, 4는 여자를 의미한다.
# 사용자로부터 13자리의 주민등록번호를 입력 받은 후 성별 (남자, 여자)를 출력하는 프로그램을 작성하라.
# (힌트 split)
id_num = input(" 주민등록번호 : ")
id_f, id_b = id_num.split("-") # -로 앞자리, 뒷자리 나누기
if id_b.startswith("1") or id_b.startswith("3") :
print("남자")
elif id_b.startswith("2") or id_b.startswith("4") :
print("여자")
# 아래 코드는 비트코인의 가격 정보를 딕셔너리로 가져오는 코드이다.
# (비트코인 가격을 받아오지 못하면 풀지 말것)
# 리스트에는 네 개의 문자열이 바인딩 돼 있다.
# 리스트 = ["가", "나", "다", "라"]
# for문을 사용해서 다음과 같이 출력하라.
라
다
나
가
list = ["가", "나", "다", "라"]
for i in range(3, -1, -1):
# 뒤에서부터 시작하는 range (i에 3, 2, 1, 0)
print(list[i])
# 리스트에는 네 개의 문자열이 바인딩돼 있다. (힌트 step 할용)
# 리스트 = ["가", "나", "다", "라"]
# for문을 사용해서 다음과 같이 출력하라.
가
다
list = ["가", "나", "다", "라"]
for i in list[::2] : # 처음부터 끝까지 2개 차이
print(i)
# 사용자로부터 세 개의 숫자를 입력 받은 후 가장 큰 숫자를 출력하라.
num1 = int(input("number1 : "))
num2 = int(input("number2 : "))
num3 = int(input("number3 : "))
print(max(num1, num2, num3))
난 ↑이렇게 코딩했는데 같이 수업듣는 다른 친구는 ↓이렇게 코딩했다.
num1 = int(input("number1 : "))
num2 = int(input("number2 : "))
num3 = int(input("number3 : "))
if num1 < num2 :
num1 = num2
if num1 < num3 :
num1 = num3
print(num1)
# 리스트에는 네 개의 문자열이 바인딩돼 있다.
# 리스트 = ["가", "나", "다", "라"]
# for문을 사용해서 다음과 같이 출력하라.
# (힌트 슬라이싱 스텝을 -1로)
라
다
나
가
list = ["가", "나", "다", "라"]
for i in list[::-1] : # 처음부터 끝까지 "라" "다" "나" "가" 순
print(i)
10번과 같은 문제인데 처음에 10번을 이렇게 풀었었는데 13번에 slicing에 대해 나와서 10번을 다르게 풀어봤다.
# 리스트에서 세 글자 이상의 문자를 화면에 출력하라.
# 리스트 = ["I", "study", "python", "language", "!"]
study
python
language
list = ["I", "study", "python", "language", "!"]
for i in list : # list에서 하나씩 받아와서
if len(i) >= 3 : # len()을 통해 길이를 알 수 있다.
print(i)
# 리스트에서 대문자만 화면에 출력하라.
# 리스트 = ["A", "b", "c", "D"]
A
Dlist = ["A", "b", "c", "D"]
for i in list : # list에서 하나씩 받아와서
if i.upper() == i : # 대문자로 바꿨을 때 같다면 출력
print(i)
# 이름의 첫 글자를 대문자로 변경해서 출력하라.
# 리스트 = ['dog', 'cat', 'parrot']
Dog
Cat
Parrot
list = ['dog', 'cat', 'parrot']
for i in list :
print(i.capitalize()) # 문자열 제일 앞글자만 대문자로 바꿈
# 파일 이름이 저장된 리스트에서 확장자가 .h인 파일 이름을 출력하라.
# 리스트 = ['intra.h', 'intra.c', 'define.h', 'run.py']
intra.h
define.h
file_name = ['intra.h', 'intra.c', 'define.h', 'run.py']
for i in file_name :
if i.endswith(".h") : # .h 로 끝나는 파일 이름
print(i)
세줄요약)
1. if 문에는 3가지 문법을 제공한다.
2. 각각의 데이터 타입에 해당되는 형변환 함수가 있다.
3. 데이터 타입의 진정한 의미는 언어차원에서 제공하는 데이타 타입 중 하나로 메모리로 올라간다.
# 인덱스로 접근할 수 있고 값으로 접근할수도 있다.
append(x) : x값 추가
insert(index, x) : index에 x값 추가
remove(x) : x값 제거
pop(index) : index에 있는 값 반환 후 삭제
extend(list) : 다른 list 연결
count(x) : x 개수 세기
index(x) : x의 인덱스 반환
sort() : 정렬
reverse() : 뒤집기
copy() : 복사
clear() : 저장된 모든 값 삭제
lower() : 모든 문자를 소문자로 바꿔서 반환
upper() : 모든 문자를 대문자로 바꿔서 반환
capitalize() : 앞글자만 대문자로 바꿔서 반환
strip() : 앞뒤에 있는 모든 공백 제거
rstrip() : 오른쪽 공백 제거
lstrip() : 왼쪽 공백 제거
replace(a, b) : a를 b로 교체
split(x) : x를 기준으로 문자열을 쪼개서 리스트에 담아서 반환
find(s) : 처음 s가 있는 위치의 인덱스 값
rfind(s) : 마지막 s가 있는 위치의 인덱스 값
\n : 줄바꿈
\t : 탭
\' : 작은 따옴표
\" : 큰 따옴표
파이썬에서 문자열의 경우 큰 따옴표를 사용해도 되고 작은 따옴표를 사용해도 된다.
문자열 안에서 큰 따옴표나 작은 따옴표를 사용하고 싶으면 문자열 따옴표를 그 반대 것을 사용하면 되는데 둘 다 사용하게 되는 경우도 있으니 알아둬야 한다.
print("수아는 시계를 봤다. '배고프다..' ") # 가능
print("'배고프다.' 수아는 말했다. "밥버거 먹을거야."") # 불가능
print("'배고프다.' 수아는 말했다. \"밥버거 먹을거야.\"") #가능