print(len(st)) # 리스트의 갯수 ex) st[1, 2, 3] -> print(len(st)) 출력 3
print(min(st)) # 가장 값이 작은 데이터
print(max(st)) # 가장 값이 큰 데이터
st.remove(1) # 리스트속의 값 삭제
st.append(4) # 리스트속 마지막 위치(가장 우측)에 값 추가
st.extend([5,6]) # 리스트에 다른 리스트 연결, 합연산 개념
---
* append 매개 변수 그 자체를 원소로 넣음
* extend 는 가장 바깥쪽 iterable을 넣음
x = [1,2,3]
y = 'ping'
x.append(y)
print('append:',x)
x = [1,2,3]
y = 'ping'
x.extend(y)
print('extend:',x)
append: [1, 2, 3, 'ping']
extend: [1, 2, 3, 'p', 'i', 'n', 'g']
---
st.insert(2,3) # 인덱스 값을 이용해 원하는 위치에 값을 저장 (원하는 위치, 삽입할 값)
st.clear() # 리스트 전체 삭제 , st[:] =[] 와 같은개념
st.pop(0) # 인덱스 값의 위치에 저장된 데이터 반환 후 삭제
st.remove(1) #인덱싱으로 삭제가 아니라 값으로 지정
st.count(1) #지정된 값의 카운트
st.index(2) #지정된 값이 처음 등장하는 인덱스 값
많은 기능이 있으니 대략적으로 암기
org= 'Kim'
lcp =org.lower() # 모든 문자를 소문자로
ucp =org.upper() # 모든 문자를 대문자로
공백(아스키코드 32) 제거
org = " MIDDLE "
cp1 = org.strip() # 앞뒤 공백 제거
cp2 = org.lstrip() # 왼쪽 공백 제거
cp3 = org.rstrip() # 오른쪽 공백 제거
org 와 cp1~3은 메모리 주소는 다릅니다.
str값은 수정이 불가하기 때문입니다.
cp1~cp3는 새로 생성하여 다른 주소에 저장이 됩니다.
org = 'Heoo'
rps = org.replace("He","Ho") # 문자열 교체 함수, "Hooo"
org = 'Heeee'
rps = org.replace("e","o",1) # 첫번째 e만 바꾼다. , "Hoeee"
rps = org.replace("e","o",2) # e 두번째까지 o로 바꾼다. , "Hooee"
print(rps)
org= "ab_cd_ef"
ret = org.split('_') # 글자를 자르는 함수. return 값이 list
print(ret) # ['ab', 'cd', 'ef']
값이 list로 반환이 되기때문에 for문에 적용이 가능하다.
tel = "010-1234-5678"
ret = tel.split('-')#['010','1234','5678']
for i in ret:
print(i) # '010' \n,'1234' \n,'5678' \n,
a = "What is important is that you should choose what is best for you"
a.find("is") # index 값이 리턴됨
a.rfind("is") # 마지막 is 가 있는 index 값이 리턴됨
a.count("is") # 개수
함수가 아닌 del명령
st = [1,2,3,4,5]
st[:] = [] #범위 지정 가능
st.clear() #[]
del st[:]#범위 지정 가능
del st[3:] # 3번인덱싱 부터 끝까지 삭제
del st[0] # 0번인덱싱만 삭제
del st # 리스트 자체를 삭제함
#Bool 형 자료 -> True, False
True
print(True)
print(type(True))
False
print(False)
print(type(False))
3 > 10 # CPU에서 연산후 bool형 return함
if문에 사용되는 조건의 반환값은 bool타입입니다.
if문은 if(조건), elif(조건 외 조건), else(나머지)로 나뉘어짐
조건은 bool으로 출력이 되어야 합니다
true가 반환되면 실행
false면 조건문 탈출의 구조로 조건문이 작동 됩니다.
def main(): # 메인함수 정의의
num = int(input("정수 입력:"))
if num > 0: # 조건 True, false가 리턴되는 구문
print("양수")
if ~ else
1번 조건에 걸리지 않고, else 값이 설정 되어있다면
무조건 else 값이 출력됩니다.
# if else 구문 반드시 한개는 실행됨 else가 그 외이니까
num = int(input("정수 입력"))
if num > 0:
print("양수")
else:
print("음수")
num = int(input("정수 입력"))
if num > 0: #조건의 경우의 수
print("양수")
elif num<0: #조건이 아닐경우 경우의수
print('음수')
else: #조건가 조건이 아닌 그 외 나머지 경우의수
print("0")
#조건을 두개 이상 주고 싶을때
num = int(input("정수 입력"))
if num>0:
print("양수")
elif num<0: #else if
print('음수')
else:
print('0')
x > y : x가y 초과
x < y : x가 y 미만
x >= y : x가 y 이상
x <= y : x가 y 이하
x == y : x와y가 같은가
x != y : x와y가 다른가
and : 두가지 조건 모두 만족해야 true
or : 둘중 한가지만 만족해도 true
not : 값을 반대로 출력.
#and 타언어에선 &
True and True #true
True and False #false
if True and False: #거짓
print("참")
else:
print("거짓")
#or 타언어에선 |
True or True #true
False or False #false
if False or False: #거짓
print("참")
else:
print("거짓")
#not
not True
not False
if not False: #참
print("참")
else:
print("거짓")
if and if
#2의 배수 이면서 3의 배수인 인수
num = int(input("2의 배수이면서 3의배수 입력"))
if num %2 == 0 : #2의 배수에 대한 프로그래밍적 표현.
if num%3 == 0 : #3의 배수에 대한 프로그래밍적 표현.
print("맞습니다.")
else:
print("2의 배수이지만 3의 배수가 아닙니다.")
else:
print("2의 배수도 아니고 3의 배수도 아닙니다.")
논리연산자를 활용하면 아래와 같다.
num = int(input("2의 배수이면서 3의배수 입력"))
if num % 2 == 0 and num % 3 == 0: #두가지 조건을 만족시켜야 함.
print("맞습니다.")
else:
print("2의 배수도 아니고 3의 배수도 아닙니다.")
[1,2]==[1,2]#True
"abc" =="abc"#False
"abc" =="Abc"#True
"abc".isdigit()#False 숫자로 이루어져있는지 확인하는 함수
"123".isdigit()#True
a= "123"
a.isdigit()
.startswith("Super") #문자열이 ~~으로 시작하는가?
.endswith("int") #문자열이 ~~으로 끝나는가?
반환값은 해당값 첫글자의 인덱스위치이다.
s = "Tomato spaghetti"
if s.find("ghe") != -1: #-1은 없을때 반환되는 값이다.
print("있습니다.")
else:
print("없습니다.")
in, not in
find와 기능은 같지만 반환값이 다르다
true와 false로 반환한다
if "ghe" in s:
print("있습니다.")
else:
print("없습니다.")
수를 true와 false로 인식하는 방식
if 문에서 조건을 숫자 단독으로 넣을땐 bool 로 형변환 합니다.
숫자형 = 0 이외는 true
문자형 = 공백 이외는 true
리스트 = 공백 이외는 true
bool(0) #False
bool("") #False
bool([]) #False
python
수우미양가 국어 영어 수학 입력을 받아 총점과 평균 그리고 성적을 프린트 하시오.
print(total(90,90,90)) # 270
print(avg(90,90,90)) # 90
print(grade(avg(80,80,80))) # 우 입니다.
kor = int(input("국어 점수: "))
eng = int(input("영어 점수: "))
math = int(input("수학 점수: "))
def total(kor, eng, math):
return kor + eng + math
def avg(kor, eng, math):
return total(kor, eng, math) / 3
def grade(avg):
if avg >= 90:
result = "수"
elif avg >= 80:
result = "우"
elif avg >= 70:
result = "미"
elif avg >= 60:
result = "양"
else:
result = "가"
return result + "입니다"
print(total(kor, eng, math)) # 총점
print(avg(kor, eng, math)) # 평균
print(grade(avg(kor, eng, math))) # 성적
if 조건:
실행할 코드
if 조건:
실행할 코드
else:
거짓일 때 실행할 코드
if 조건1:
실행할 코드
elif 조건2:
다른 코드
else:
모든 조건이 거짓일 때 실행
if -1:
print("참")
else:
print("거짓")
user = int(input("입력: "))
num = user + 20
if num > 255:
print(255)
else:
print(num)
user = int(input("입력: "))
num = user - 20
if num < 0:
print(0)
elif num > 255:
print(255)
else:
print(num)
번호 통신사
011 SKT
016 KT
019 LGU
010 알수없음
pnum = input("휴대전화 번호 입력: ")
plist = pnum.split('-')[0]
if plist == "011":
pbrand = "SKT"
elif plist == "016":
pbrand = "KT"
elif plist == "019":
pbrand = "LGU"
else:
pbrand = "알수없음"
print("당신은", pbrand, "사용자입니다.")
>> 주민등록번호: 959999-163516
남자
id = input("주민등록번호 13자리를 입력하시오.")
if id.split('-')[1][0] == '2' or id.split('-')[1][0] == '4':
gender = "여자"
else:
gender = "남자"
print(gender)
num1 = int(input("number1: "))
num2 = int(input("number2: "))
num3 = int(input("number3: "))
def max(num1, num2, num3):
if num1 >= num2 and num1 >= num3:
return num1
elif num2 >= num1 and num2 >= num3:
return num2
else:
return num3
print(max(num1, num2, num3))
리스트 = ["가", "나", "다", "라"]
for문을 사용해서 다음과 같이 출력하라.
라
다
나
가
리스트 = ["가", "나", "다", "라"]
for문을 사용해서 다음과 같이 출력하라.
가
다
number1: 10
number2: 9
number3: 20
리스트 = ["가", "나", "다", "라"]
for문을 사용해서 다음과 같이 출력하라. #힌트 슬라이싱 스텝을 -1로
라
다
나
가
리스트 = ["I", "study", "python", "language", "!"]
study
python
language
리스트에서 대문자만 화면에 출력하라.
리스트 = ["A", "b", "c", "D"]
A
D
리스트 = ['dog', 'cat', 'parrot']
Dog
Cat
Parrot
리스트 = ['intra.h', 'intra.c', 'define.h', 'run.py']
intra.h
define.h
세줄요약)
1. if 문에는 3가지 문법을 제공한다.
2. 각각의 데이터 타입에 해당되는 형변환 함수가 있다.
3. 데이터 타입의 진정한 의미는 언어차원에서 제공하는 데이타 타입중 하나로 메모리로 올라간다.