■ 33. 문자열 이해하기
→문자열을 나타내는 방법 3가지
1. '문자열'----------> 싱글
2."문자열"---------> 더블
3. """문자열""" -->더블3개(여러줄 주석 처리)
예제:
data1= 'i am python programer'
data2= "you are a programer"
date3= """i love
i love
i love"""
data4="my son's name is john" #문자열에 싱글을 나타내고 싶으면!
data5='name of my son is "john" ' #문자열에 더블을
나타내고 싶으면!
data6= """my son's name is "john" """ #문자열에 싱글,더블을
다 나타내고 싶으면!
문제90. 문자열 안에 싱글과 더블쿼테이션 마크를 다 넣고 싶을 땐 어떻게 하는가
data6= """my son's name is "john" """
print(data6)
더블 세개 ! """ """
문제91. 아래의 data1~data6 변수에 있는 문자열값을
한번에 출력하시오
data1= 'i am python programer'
data2= "you are a programer"
date3= """i love
i love
i love"""
data4="my son's name is john" #문자열에 싱글을 나타내고 싶으면!
data5='name of my son is "john" ' #문자열에 더블을
나타내고 싶으면!
data6= """my son's name is "john" """ #문자열에 싱글,더블을
다 나타내고 싶으면!
data7='''my son's name is "john"''' #작은따옴표 3개도 된다.
data8='my son\'s name is \"john\"' #백슬래시 뒤의 쿼테이션은 문자로 인식한다.
data1='i am python programer'
data2="you are a programer"
data3=""" i love
i love
i love """
data4="my son's names is john" # 문자열에 싱글을 나타내고 싶으면
data5='name of my son is "john"' # 문자열에 더블을 나타내고 싶으면
print_string = ''
for i in range(1,6):
dt = "data" + str(i)
print(locals()[dt])
※설명: locals() : 지역변수의 이름과 값을 확인하는 함수
globals(): 전역변수의 이름과 값을 확인하는 함수
print(locals()[data1])
locals() : 스타벅스의 머그컵(들고나가면 안된다)
globals() : 스타벅스의 종이컵
(안에서 먹어도 되고, 들고나가도 된다)
지역변수(locals)는 함수 내부에서만 유효하고
전역변수(globals)는 코드 전반에 걸쳐 유효하다.
함수의 인자는 지역변수다.
책94
######################
param=10 #1
strdata='전역변수'#2
def func1(): #4
strdata='지역변수'#5
print(strdata) #6
def func2(param): #8
param=1 #9
def func3(): #11
global param #12
param=50 #13
func1() #15
print(strdata) #16
print(param) #17
func2(param) #18
print(param) #19
func3() #20
print(param) #21
■ 34. 문자열 포멧팅 이해하기
"변하는 값을 포함하는 문자열을 표현하기 위해
하나의 양식으로 문자열을 만드는 것"
예:
%s : 문자열
%d : 정수
%f : 실수
%% : 기호
예제:
'나는 자바보다 파이썬에 더 익숙합니다.'
->자바, 파이썬을 % 이용해서 출력!
txt1 = '자바'; txt2='파이썬'
print('나는 %s 보다 %s 에 더 익숙합니다.' %(txt1, txt2) )
문제93. 아래의 변수에 있는 값을 이용해서
아래의 문자를 출력하시오
txt='자바'; txt2='파이썬'
num1=5
결과: 파이썬이 자바보다 5배 더 쉽습니다.
txt1 = '자바'; txt2='파이썬'
num1=5
print('%s이 %s보다' %(txt1,txt2), int(num1),'쉽습니다.')
문제94. 변하는 값을 포함하는 문자열을 나타내는
아래의 코드를 실행하시오
from time import sleep # time패키지에서 sleep 모듈을
#가져와라
for i in range(100):
msg='\r진행률 %d%%' %(100-i-1)
print(msg, end='')
sleep(0.1)
↑
0.1초 만큼 잠들겠다.
(그래서 애니메이션 움직이는 것처럼 보인다)
※설명: \r 리턴문자를 추가하여 msg 변수를 print 할 때
줄바꿈없이 화면에 출력한다.(한 자리에서 계속 출력)
print(''*len(msg), end='') 로 msg 길이만큼
공백문자를 줄바꿈없이 화면에 출력한다.
문제95. 겨울왕국에서 anna를 검색해서 건수를
출력하는 코드를 실행하시오
**readlines() 가 한문장씩 가져옴.
**read() 는 통째로 가져와서 list 구분이 안됨.
from time import sleep
#다음문장을 위해 쓰신거라함.
file = open("d:\\winter.txt", 'r')
sum=0
for winter_list in file:
a=winter_list.split(' ')
for b in a:
sum=sum+b.lower().count('anna')
print(sum)
답:685
inp=str(input('검색하세요'))
sum=0
file = open("C:\\Users\kight\Desktop\세희쓰\PYTHON\\winter.txt", 'r')
for i in file:
a=i.lower().split(' ')
for b in a:
sum=sum+b.count(str(inp))
print(str(inp),'는 %d번 입니다' %(sum))
문제96. 문제94번과 문제95번 코드를 잘 조합해서
단어를 물어보게하고 단어를 입력하면
해당 단어의 갯수가 변하는 숫자로 출력되어서
나오게 하시오
찾고자 하는 단어를 입력하세요 anna
685개
from time import sleep
file = open("d:\\winter.txt","r")
sum = 0
inp = input('찾을 단어 검색: ')
for winter_list in file :
a=winter_list.split(' ')
for b in a:
sum+= b.lower().count(inp)
msg='\r%s의 갯수 : %d' %(inp,sum)
print(msg,end='')
sleep(0.001)
파이썬 3 버전의 예
print ("No new line", end=" ");print ("ok?")
파이썬 3 버전의 경우
줄바꿈 문자를 제거하기 위해서
위와 같이 끝 문자를 지정할 수 있는 end 파라미터를 설정하면 된다. 지정하지 않으면 디폴트로 \n 문자가 세팅된다
( ' ' 널로 지정해줘서 줄바꿈 디폴트가 세팅 안된다)
문제97. 위의 코드를 수정해서 아래와 같이 스크립트도 물어보게 하시오
분석할 스크립트를 입력하세요 winter.txt
찾을 단어를 입력하세요 elsa
from time import sleep
script = input('분석할 대본을 입력하세요.')
file = open('d://%s' %script,'r')
word = input('찾고자 하는 단어를 입력하세요.')
cnt = 0
for winter_list in file:
a = winter_list.split(' ')
for i in a:
cnt += i.lower().count(word)
msg = '\r %d개' %cnt
print(msg, end='')
sleep(0.001)
-----------------------------
inp=str(input('검색하세요'))
inp2=str(input('분석할 스크립트를 입력하세요'))
sum=0
from time import sleep
file = open("C:\\Users\kight\Desktop\세희쓰\PYTHON\\%s" %(inp2), 'r')
for i in file:
a=i.lower().split(' ')
for b in a:
sum+=b.count(inp)
msg='\r %s는 %d개입니다.' %(inp,sum)
print(msg, end='')
sleep(0.0001)
문제98(미리내는 점심시간 문제) 로그함수
(loop 문으로)
로그의 밑수를 입력하세요 2
로그의 진수를 입력하세요 8
3입니다
거듭제곱법
a=int(input('밑수를 입력:'))
b=int(input('진수를 입력:'))
x=0
while x<=b:
x+=1
if a**x==b:
print(x)
진수 나눠서 구하는 법
a=int(input('밑수를 입력:'))
b=int(input('진수를 입력:'))
sum=0
x=0
while a<=b:
if b%a==0:
b=b/a
sum+=1
print(sum)
■ 35. 이스케이프 문자 이해하기
*이스케이프 문자
1. \n : 줄바꾸기
2. \t : 텝
3. \엔터: 줄계속
4. \\ : \ 기호 자체
예제: print('나는 파이썬을 사랑합니다. \n 파이썬은 자바보다 \훨씬 쉽습니다.')
'python' 카테고리의 다른 글
★리스트/함수 (0) | 2019.03.25 |
---|---|
7. 리스트, 튜플, dictionary (0) | 2019.03.25 |
5. 시퀀스 자료 (0) | 2019.03.24 |
파이썬vs오라클vs판다스 연산자 (0) | 2019.03.24 |
4. 연산자, TRUE/FALSE (0) | 2019.03.24 |