알파벳 순서대로 크기가 정해짐. A가 크고 Z가 작음. 대문자가 크고 소문자가 작음.
a = input('문자열을 입력하세요 : ')
b = input('문자열을 입력하세요 : ')
if a < b :
print( a, '가 앞에 있음')
else :
print( b, '가 앞에 있음')
괄호 안에 적은 글자 기준으로 나눈다.
기준 문자는 출력하지 않는다.
>>> s = 'Mississippi'
>>> s.split('s')
['Mi', '', 'i', '', 'ippi']
>>> s.split('i')
['M', 'ss', 'ss', 'pp', '']
앞글자만 따서 대문자로 축약어를 만들어보자.
#축약어 만들기
sentence = input('문자열을 입력하세요 : ')
sens = sentence.split(' ')
result = ''
for words in sens :
result += words[0]
print(result.upper())
@를 기준으로 구분하여 출력하자.
address = input('이메일을 입력하세요 : ')
#대입연산으로 간단히 할 수 있다.
#id, domain = address.split('@')
list = address.split('@')
name = str(list[0])
mail = str(list[1])
print(address)
print('name : ' , name)
print('mail : ', mail)
s = '짜장 짬뽕 탕수육'
print(s.split(' '))
s2 = '서울->대전->대구->부산'
city = s2.split('->')
print(city)
for i in city :
print(i, '찍고', end=',')
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
['짜장', '짬뽕', '탕수육']
['서울', '대전', '대구', '부산']
서울 찍고,대전 찍고,대구 찍고,부산 찍고,
\n
줄바꿈
#splitlines
traveler = '''가나다라 마바사
아자차카타파하\n 테\n스\n트\n'''
poet =traveler.splitlines()
for i in poet :
print(i)
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
가나다라 마바사
아자차카타파하
테
스
트
#슬라이싱
file = '20171224-104830.jpg'
print('촬영 날짜 : ' + file[4:6] + '월' + file[6:8] + '일')
print('촬영 시간 : ' + file[9:11] + '시' + file[11:13] + '분')
print('확장자 : ', file[-3:])
#슬라이싱 2
yoil = '월화수목금토일'
print(yoil[ : : 2]) #첫 글자 출력 후 첫 글자 포함 2칸 씩 뒤 문자를 출력.
print(yoil[ : : -1])
print(yoil[ : : -2])
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
월수금일
일토금목수화월
일금수월
,
, +
, formating사이 사이에 끼울 문자에 .join()을 해준다.
#join
s = '._.'
print(s.join('대한민국'))
p = '1'
print(p.join('아야어여오요우유'))
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
대._.한._.민._.국
아1야1어1여1오1요1우1유
a = '._.'
print(a.join('대한민국').split('._.'))
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
['대', '한', '민', '국']
s2 = '서울->대전->대구->부산'
result = s2.split('->')
print(' 찍고 '.join(result))
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
서울 찍고 대전 찍고 대구 찍고 부산
str()
으로 감싸면 가능. 대신 ,는 양 옆에 공백이 생김.문자열 뒤에
.
을 붙이지 않고%
를 붙이는 것에 주의하자.
형상 | 내용 |
---|---|
%c | 한 글자 |
%f | 실수 |
%d | 정수 |
%s | 글자 |
name = 'coffee'
age = 12
weight = 6.7
print('%s의 나이는 %d, 무게는 %f 입니다.' % (name, age, weight))
print('이름은 {name}, 나이는 {age}, 성별은 {sex}'.format(name ='커피', age = 12, sex = '남'))
name ='커피'
age = 12
height = 50.5
#0, 1, 2의 의미가 뭔지 모르겠음 그냥 순서 또는 인덱스를 의미하는 걸까?
print('이름은 {0:s}, 나이는 {1:d}, 성별은 {2:f}'.format(name, age, height))
#{0:10s} 변수의 글자 포함 10칸으로 둬라.
#{1:5d} 변수의 숫자 포함 5칸으로 둬라. 숫자는 자동으로 왼쪽 정렬인가봄.
#{2:8.2f} 소수점 아래까지 8칸으로 두고 소수점은 둘째자리까지만 표기하라.
print('이름은 {0:10s}, 나이는 {1:5d}, 성별은 {2:8.2f}'.format(name, age, height))
#^ 가운데 정렬, > 왼쪽 정렬, < 오른쪽 정렬
print('이름은 {0:^10s}, 나이는 {1:>5d}, 성별은 {2:<8.2f}'.format(name, age, height))
#기호를 넣어 빈 문자를 대체할 수 있다.
print('이름은 {0:$^10s}, 나이는 {1:!>5d}, 성별은 {2:@<8.2f}'.format(name, age, height))
문자열은 왼쪽 정렬, 숫자는 오른쪽 정렬로 배치하는 것이 좋다.
value = 123
print('#ㅈ#%d###' % value)
print('##ㅈ%5d###' % value) #총 5칸 띄워서 123넣기
print('ㅈ##%10d###' % value) #총 10칸 띄워서 123넣기
print('ㅈㅈㅈ%1d###' % value) #총 1칸을 띄우란 말인데 이미 1칸이 띄워져 있으니 적힌 글자 뒤로 바로 붙이기.
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
#ㅈ#123###
##ㅈ 123###
ㅈ## 123###
ㅈㅈㅈ123###
-
는 왼쪽 정렬,
?? 끝이 맞아야 하는데 뭔가 난 안 맞음.. 왜지?
#align
price = [30, 13500, 2000]
for p in price :
print(' 가격:%d원 ' % p)
for p in price :
print(' 가격:%7d원' % p)
for p in price :
print(' 가격:%-7d원' % p)
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
가격:30원
가격:13500원
가격:2000원
가격: 30원
가격: 13500원
가격: 2000원
가격:30 원
가격:13500 원
가격:2000 원
?? 끝이 맞아야 하는데 뭔가 난 안 맞음.. 왜지?
#precision
pie = 3.14159265
print('%10f' % pie)
print('%10.8f' % pie)
print('%10.5f' % pie)
print('%10.2f' % pie)
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
3.141593
3.14159265
3.14159
3.14
#just
message = 'fjfjfjfjfjfj'
print(message.ljust(30))
print(message.rjust(30))
print(message.center(30))
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
fjfjfjfjfjfj
fjfjfjfjfjfj
fjfjfjfjfjfj
#중요함. 특정 문자로 시작하는지 체크하기
s = input('파이썬 소스 파일 이름을 입력하시오 : ')
if s.startswith('mypy') :
print('내가 작성한 파이썬 파일입니다.')
else :
print('내가 작성한 파이썬 파일이 아닙니다.')
#중요함. 특정 문자로 끝나는지 체크하기
s = input('파이썬 소스 파일 이름을 입력하시오 : ')
if s.endswith('.jpg') :
print('이미지 파일이 맞습니다.')
else :
print('이미지 파일이 아닙니다.')
원본은 유지
- 사용처 : 로그인할 때 아이디 치다가 스페이스바 눌러졌을 때 사용자가 아닌 컴터가 공백을 지워줄 때 사용된다.
>>> s = ' fkfjkfkdjkf kd kd kfkdk dkkd kd k k k kkk k k '
>>> s.lstrip() #왼쪽 공백 제거
'fkfjkfkdjkf kd kd kfkdk dkkd kd k k k kkk k k '
>>> s.rstrip() #오른쪽 공백 제거
' fkfjkfkdjkf kd kd kfkdk dkkd kd k k k kkk k k'
>>> s.strip() #양쪽 공백 제거
'fkfjkfkdjkf kd kd kfkdk dkkd kd k k k kkk k k'
>>> s
' fkfjkfkdjkf kd kd kfkdk dkkd kd k k k kkk k k '
>>> s = 'FHFHdhdhdhhfFHFHFH'
>>> s.upper() #대문자 변환
'FHFHDHDHDHHFFHFHFH'
>>> s.lower() #소문자 변환
'fhfhdhdhdhhffhfhfh'
>>> s.capitalize() #첫 글자만 대문자 변환
'Fhfhdhdhdhhffhfhfh'
원본은 유지된다.
문자열 수정이 가능한 함수
함수명 설명 replace 문자열 안의 문자열을 다른 문자열로 바꿔주는 함수이다.
>>> s.replace('황', 'Lee')
'Lee 커 피'
>>> s = '황 커 피'
>>> s.replace(' ', '')
'황커피'
회문이란. 앞으로 읽으나 뒤로 읽으나 똑같은 단어를 뜻.
대, 소문자 구분을 함.
def check_pal(a) :
low = 0
high = len(s) -1
while True :
if low > high :
return True
a = s[low]
b = s[high]
if a != b :
return False
low += 1
high -= 1
s = input('문자열을 입력하시오 : ')
s = s.replace(' ', '').lower()
if check_pal(s) == True :
print('회문입니다.')
else :
print('회문이 아닙니다.')
# 문법
>>> replace('old', 'new')
>>> replace('old', 'new', count) #count는 변경할 횟수
#예시
>>> test = '123,456,789'
>>> test = test.replace(',', '-')
>>> print(test)
123-456-789
#예시2
>>> test = test.replace('-', '.', 1)
>>> print(test)
123.456-789 #count 숫자 만큼 왼쪽부터 차례로 변경됨
#코드 작성
insert = input()
change = """땡 문자열 땡땡
땡 작성하기 땡
"""
change = change.replace("땡", insert)
print(change)
#결과
============================================== RESTART: C:\project\practice_arithmetic.py =============================================
이렇게 change #input 값
이렇게 change 문자열 이렇게 change이렇게 change
이렇게 change 작성하기 이렇게 change
#코드 작성
insert = input()
change = """땡 문자열 땡땡
땡 작성하기 땡
"""
change = change.replace("땡", insert)
print(change)
#결과
============================================== RESTART: C:\project\practice_arithmetic.py =============================================
dkshlskd
Traceback (most recent call last):
File "C:\project\practice_arithmetic.py", line 7, in <module>
change = change.replace("땡", {insert})
TypeError: replace() argument 2 must be str, not set
>>>
찾고자하는 값의 첫 번째 인덱스를 반환한다.
찾는 값이 없는 경우-1
을 반환. (모든 코드는 값이 없는 경우-1
을 반환 한다.)
A. .index() 메소드의 경우
-1
을 반환하지 않고 에러가 발생한다.
에러 처리를 배우지 않았을 경우 .find() 메소드를 사용해야한다.
s = 'python programming'
print(s.find('o'))
print(s.find('k'))
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
4
-1
오른쪽은 1부터 시작 함.
s = 'python programming'
print(s.rfind('o'))
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
9
s = 'python programming'
print(s.index('r'))
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
8
s = 'python programming'
print(s.count('n'))
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
2
#isdecimal
height = input('키를 입력하세요 : ')
if height.isdecimal() :
print('키 = ', height)
else :
print('숫자만 입력하세요.')
#
# 한 줄로 주석을 붙일 때.
'''
프로그래밍 내용에 대한 설명을덪붙일 때 많이 사용 됨.
def calscsum(n) :
''' 1 ~ n까지의 합계를 구해 리턴한다.'''
sum = 0
for i in range( n+1 ) :
sum += i
return sum
help(calscsum)
=============================== RESTART: C:\Users\GIEC\Desktop\기초문법\1031\test.py ==============================
Help on function calscsum in module __main__:
calscsum(n)
1 ~ n까지의 합계를 구해 리턴한다.
help([1, 2, 3].append)
Help on built-in function append:
append(object, /) method of builtins.list instance
Append object to the end of the list.
\ 역슬래시만 문자열에 사용한 경우 계속해서 작성한다는 의미다.
- \ : 이어서 작성
- \n : 줄바꿈
>>> print('동해물과 백두산이\n\
... 마르고 닳도록')
동해물과 백두산이
마르고 닳도록