일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PYTHON
- road to fund manager
- spss
- 12월 수출입지수
- 이타가키에이켄
- for문의 활요
- Autodesk
- 기업법
- 명의개서
- 퀴즈8
- 주가분석
- quiz9
- 대한민국산업지도
- day13
- 3D모델링
- 손정의 제곱법칙
- 자람테크놀로지
- math module
- 파일입출력
- 연혁정리
- 케어젠
- 생성형AI
- 요네자와 호노부
- 주담통
- 12월 외환보유액
- 회사의 의의
- nopat
- 마른뼈골짜기
- Fusion 360
- week12
- Today
- Total
별의별 이야기
string methods 본문
string methods
method이기 때문에 만드시 점(.)을 사용해서 연결해야 함.
문자열에서 사용하는 methods
특이한거:
.join(): list를 문자열 형태로 바꿔줌. <-> .split(): 문자열을 list로 변환한다.
is 가 붙어있는 methods 들은 결과가 true or false 이다.
join을 만들 때 = ' ' . join(a) 식으로 빈칸을 설정해주어야 함.
#''에 공백이 없을 때
a=['1','2','h','a','n','d','o','n','g']
result1 = ''.join(a)
print(result1) #띄어쓰기가 된 채로 출력
result2=result1.split()
print(result2) #출력: ['12handong']
#''에 공백이 있을 때
a=['1','2','h','a','n','d','o','n','g']
result1 = ' '.join(a)
print(result1) #출력:1 2 h a n d o n g
result2=result1.split()
print(result2) #['1', '2', 'h', 'a', 'n', 'd', 'o', 'n', 'g']
isalpha() : 알파벳을 물어보는 method
isdigit(): 숫자를 물어보는 method
islower(): 모든 요소가 소문자이면 true인 method
isupper(): 모든 요소가 대문자이면 true인 method : string에 써도 됨.
isspace(): 모든 요소가 공백이면 true인 method:
#isspace 예제
s1="hello python"
for char in s1:
if char.isspace():
print("true")
else:
print("false")
=> if 다음에 나오는 말이 모두 수식일 필요는 없다.
replace(): 해당 문자를 변경 문자로 바꾸어줌. 문자열.replace('검색문자','변경문자')
feel='im so happy'
result = feel.replace('so','not')
print(result)
swapcase(): 대문자는 소문자로, 소문자는 대문자로 바꿔줌.
.upper():
.find(): 찾는 문자가 있으면 index 반환, 없으면 -1을 반환. false를 반환한다고 생각하면 안됨.
s = 'abcd cdef def gh'
if s.find('d')==-1:
print("찾는 문자가 없음")
else:
print(s.find('d'))
if s.find('f')==-1:
print("찾는 문자가 없음")
else:
print(s.find('f'))
if s.find('i')==-1:
print("찾는 문자가 없음")
else:
print(s.find('i'))
문자열 연습문제 풀기
#문자열 연습문제
#영문으로 구성된 문자열 입력받고, 전체 개수, 소문자 개수 값 출력
#method: islower(소문자파악용 method)
#혼자풀기
word=input("input word: ")
result=len(word)
result2=word.islower()
#어떻게 소문자 개수를 출력하지????
print(result)
print(result2)
#같이풀기
str=input("input word: ")
count=0 #count 변수만들기!!!
alcount =0 #전체 글자 수를 읽을 변수하나 추가
for i in str: #(문자단위로 읽어오기)
alcount +=1
if i.islower():
count +=1
print(f"전체문자의 수: {alcount}, 소문자의 수: {count}")
***주의
#1
print(f"전체문자의 수: {alcount}, ", end= "," ) #줄바꿈 기호를 enter로 하지 말고 컴마(,)로 해라
print(f"소문자의 수: {count}")
#2
print(f"전체문자의 수: {alcount}", f "소문자의 수: {count}") #space가 무조건 출력 됨.
#3
print(f"전체문자의 수: {alcount}", f "소문자의 수: {count}", sep-"\n") #space를 줄바꿈으로 바꾸겠다.
###spe=""에 대하여
print(str, restr,sep="\n")
#1. 원래는 빈공백이 들어갔는데 내가바꾸고싶은 문자(줄바꿈\n)으로 바뀌어짐
print(str, restr,sep="")
#2. 공백이 없어진다는 의미.
print(str)
print(restr)
#3. print를 두번서서 줄바꿈이 일어남.
print(str, end=',')
print(restr)
#4. 원래는 줄바꿈이 일어나야하는데 컴마(,)로 구별되서 나타난다.
연습문제2
#연습문제2
# 영문 소문자로 구성된 문자열을 입력받고, 모음은 모두 대문자로 출력
# 혼자풀기
str=input("input word: ")
for i in range(1,str+1):
i.upper() and i.capitalize()
print(i)
#같이풀기
str=input("Enter string: ") #문자열 입력받기
restr="" #새롭게 변경될 문자열이 저장될 변수
for i in str: #str에서 문자 읽어오겠다.
if i in 'aeiou': #만약 str 문자열에 모음 있으면
restr+=i.upper() #대문자로 바꿔 restr에 저장해줘 => restr=restr+ch.upper()
else:
restr+=i #아니면 그냥 저장해줘
print(str, restr,sep="\n") #원래는 빈공백이 들어갔는데 내가바꾸고싶은 문자(줄바꿈\n)으로 바뀌어짐
연습문제3
###연습문제3
#문자열 입력받고, 첫 글자 대문자 나머지 소문자로 저장 및 출력, 첫글자와 나머지 글자 나누어 출력
#먼저 첫글자를 대문자로 바꿔야겠다? 반대로 생각하기.
#문자열 전체를 소문자로 바꾸는 method (lower) -> .capitalize
#혼자풀기
str=input("Enter string: ") #문자열 입력받기
restr=0 #첫글자
for i in str:
str[0] = restr
restr.upper()
str.lower()
print(restr,str,sep="\n")
#같이풀기
str=input("Enter string: ") #문자열 입력받기
print(str.lower().capitalize())
print(f"첫 번째 문자: {str[0]}",f"나머지 문자: {str[1:]}", sep='\n')
연습문제4
###연습문제4
#문자열 입력, 대->소, 소->대로 바꾸어 출력, 바꾼 후 대문자 개수, 소문자 개수, 대소문자가 아닌 문자개수 출력
#혼자풀기
str=input("Enter string: ") #문자열 입력받기
str= str.lower()
str2= str.upper()
str3=len(str)
print(str, str2, str3,sep='\n')
#2
str=input("Enter string: ") #문자열 입력받기
str=str.swapcase()
print(str, len(str), sep='\n')
# => 대문자, 소문자, 대소문자가 아닌 개수는 어떻게 각각 출력하지?
#같이풀기
str=input("Enter string: ") #문자열 입력받기
str=str.swapcase()
#여기서 대문자 몇개, 소문자 몇개, 대소문자 아닌거 몇개인지 하나씩 읽어오기
countUpper, countLower, countElse = 0,0,0
for i in str:
if i.isupper():
countUpper +=1
elif i.islower():
countLower +=1
else:
countElse +=1
print("변경된 문자열", str)
print(f"대문자 수: {countUpper}\n소문자 수: {countLower}\n대소문자가 아닌 문자수: {countElse}")
.startswith()
시작할 때 문자열의 시작이 내가 지정한 문자/문자열과 같은지 판단하는 method
.endswith()
끝의 형태가 내가 원하는(지정한) 형태인지 판단하는 method


연습문제5
#연습문제5
#이름을 영문으로 받음. 'k' or 'ch''park'으로 시작하는 이름인지 확인, 'young'으로 끝나는지 확인
#혼자풀기
#1
# name=input("Enter your name: ")
# print(name.startswith('k' or 'ch' or 'park'))
# print(name.endswith('young'))
#2
name=input("Enter your name: ")
if name.startswith ('k' or 'ch' or 'park'):
print("앞에만 맞습니다.")
if name.endswith('young'):
print('뒤에만 맞습니다.')
else:
print('no')
if name.endswith('young'):
print('뒤에만 맞습니다. ')
#나는 동시에 풀려고 했던 것 같음.
#같이풀기
str=input("Enter name: ")
if str.startswith(('k','ch','park')): #얘네를 전체로 묶어서 넘겨야 한꺼번에 parameter로 넘길 수 있음.
# 또는 str.startswith('k') or str.startswith('ch'), str.startswith('park')로 표현 가능
print(str,", k, ch, park으로 시작")
else:
print(str,", k, ch, park으로 시작하지 않습니다")
if str.endswith('young'):
print(str,", young으로 시작")
else:
print(str,", young으로 시작하지 않습니다")
퀴즈
1~10까지 for 문 사용해서 합을 구하기 문제
코드 동작 결과 (마지막 숫자에도 컴마(,)를 꼭 찍어야하는게 답!(유의하기)
"""000"""는 주석처리를 의미해서 오류는 아님. ""000"" 가 확실한 오류이다.
#퀴즈 문제.
str=input("문자열을 입력하시오: ")
for ch in range(len(str), -1,-1): #?????
print(str[ch], end="") #한줄로 출력, [::-1]도 가능하다? 수업시간에 안한거..
연습문제6
#연습문제6
#문자열 입력, 대문자로 바꿀 문자 or 문자열 입력받기, 입력받은 문자를 대문자로 바꾸고 전체 문자열 출력
#혼자풀기
str =input("문자열을 입력하세요: ")
restr = input("바꿀 문자열을 입력하세요: ")
for i in restr: #str에서 문자 읽어오겠다.
if i in 'aeiou': #만약 str 문자열에 모음 있으면
restr=i.upper() #대문자로 바꿔 restr에 저장해줘 => restr=restr+ch.upper()
print(restr)
###같이풀기
str =input("문자열을 입력하세요: ")
chstr = input("바꿀 문자열을 입력하세요: ")
restr = ""
cindex=0
#str에서 find method를 쓸 수 있느냐 문제이다.
if str.find(chstr)==-1: #-1을 반환하고 이것과 같은지를 물어봐야 함.
print("문자열이 없습니다.")
else:
cindex = str.find(chstr) # cindex 변수도 만들어줌
restr = str[:cindex] #str to cindex까지를 새로운 문자열에 넣어줌. restr 변수도 만들어줌
restr+= chstr.upper() #대문자로 바꾼 chstr 을 붙어넣어줌.
restr += str[cindex+len(chstr):] #cindex부터 len(chstr)까지
print(restr) #print 까먹지말기
# for ch in str: #반복문으로 문자를 하나씩 읽어옴
# if ch in chstr: #우리가 찾는 문자열에 해당하는 문자열이 있다면?
=> 콜론 의미 알기, 중간 변수 설정, index의미 알기
JavaScript / ava
find로 찾으면 index로는 a는
'3. > Python' 카테고리의 다른 글
List (0) | 2024.12.31 |
---|---|
내장함수, math module, 사용자 정의 함수 (0) | 2024.12.30 |
for esle, sort, 다중 for, 문자열 (0) | 2024.12.23 |
Day5 복습: for문 (2) | 2024.12.23 |
for loop의 활용: range 함수, 다중 for문, break (0) | 2024.12.20 |