■ 36. 리스트 이해하기 ( [ ] )
→ 리스트 변수란?
"데이터의 목록을 다루는 자료형"
대괄호[ ] 안에 데이터를 입력해서 관리하는 변수
※ 리스트 변수의 유용한 메소드 함수
1. append() : 리스트 끝에 새로운 요소를 추가
2. extend() : 기존 리스트에 다른 리스트를 이어붙임
3. insult() : 리스트에 특정위치에 새로운 요소를 입력
4. remove() : 리스트에 요소를 삭제
5. pop() : 리스트에 마지막 요소를 제거
6. index() : 리스트에 특정위치의 요소를 출력할 때 사용
7. count() : 리스트에 요소의 건수를 출력
8. sort() : 리스트의 요소를 정렬
예제:
emp_list = []
emp_list.append('a')
print(emp_list)
emp_list.append('b')
print(emp_list)
문제99. 예제에서 emp_list 에서 b요소를 제거하시오
emp_list = []
emp_list.append('a')
emp_list.append('b')
emp_list.remove('b')
print(emp_list)
문제100.
emp2.csv 의 sal 의 값을 sal_list 라는 비어있는
리스트 변수에 담으시오!
(for loop 문 이용)
답:
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
sal_list.append(int(emp_list[5]))
print(sal_list) #append 과정 볼 수 있다.
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
sal_list.append(int(emp_list[5]))
### print(sal_list) #append 과정 볼 수 있다.###
print(sal_list) #append 다 된 과정을 볼 수 있다.
문제101. 위의 결과를 다시 출력하는데 월급이 낮은것 부터
높은순으로 출력하시오
[800, 950,......,5000]
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
sal_list.append(int(emp_list[5]))
# print(sal_list) #append 과정 볼 수 있다.
sal_list.sort()
print(sal_list) #append 다 된 과정을 볼 수 있다.
*******int 안해주면 sort 명령대로 안나온다.
문제102. 위의 결과를 다시 출력하는데 월급이 높은것부터
출력되게 하시오
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
sal_list.append(int(emp_list[5]))
# print(sal_list) #append 과정 볼 수 있다.
sal_list.sort()
sal_list.reverse()
print(sal_list) #append 다 된 과정을 볼 수 있다.
문제103. 위의 sal_list 의 요소를 아래와 같이 뽑아내서
출력하시오
sal_list=[5000, 3000, ...............,800]
결과: 5000
3000
:
:
**원리를 알아야 함
왜 sal_list 바로 print 하면 안나올까??
이 이유를 알아야 함!!
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
sal_list.append(int(emp_list[5]))
sal_list.sort()
sal_list.reverse()
for i in sal_list:
print(i)
**
첫번째 for 문에서 sal_list는
각각 월급들을
Sal_list=[] 라는 대괄호 안에 담고있는 중이다.
그래서
Print하면 (루프 안도는 위치에서)
[5000,……..1100]
이런식으로 한 줄 출력된다.
대괄호에 담겨진 list를
For문으로 옮기면서 대괄호가 벗겨진다
그 값을 print 해야 세로로 한개씩 출력된다.
문제104. 이름, 월급을 출력하는데
월급이 높은것 부터 출력하시오
SQL> select ename, sal
from emp
order by sal desc;
||
def colcheck(data):
return int(data[5])
#->어떤 data를 갖는 colcheck 이라는 함수를 만든다.
data의 5번째값을 숫자로 바꿔서 리턴해라
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp_csv=csv.reader(file)
emp_list=[]
for i in emp_csv:
emp_list.append(i)
emp__sort_list=sorted(emp_list, reverse=True, key=colcheck)
for i in emp_sort_list:
print(i[1], i[5])
key=colcheck => int(emp_list[5])
**학생이 콜체크 함수 안쓰고 풀었음.
그래서 콜체크 더 이상 설명 안해주셨음.
---------------------
허석우님
import csv
file = open('d:\\csv\\emp2.csv','r')
emp_csv = csv.reader(file)
sal_list = [ ]
for emp_list in emp_csv:
sal_list.append( [ int(emp_list[5]),emp_list[1] ] )
# print(sal_list)
sal_list.sort()
sal_list.reverse()
for i in sal_list:
print(i[1],i[0])
***설명:
sal_list = [[KING,5000],[BLAKE,2850],...,[MILLER,1300]]
For i in sal_ list
->
i = [KING,5000],[BLAKE,2850],…,[MILLER,1300]
i [0] = KING,BLAKE,…,MILLER
i [1] = 5000,2850,……,1300
--------------------------------
내가 푼건데 오답
import csv
sal_list=[]
ename_list=[]
file=open("C:\\Users\kight\Desktop\세희쓰\PYTHON\\emp.csv", 'r')
emp_csv=csv.reader(file)
for emp_list in emp_csv:
sal_list=[]
ename_list=[]
sal_list.append(int(emp_list[5]))
ename_list.append(str(emp_list[1]))
print(sal_list, ename_list)
sal_list.sort()
sal_list.reverse()
Sort 를 중간에 넣으면 print 가 안먹힘.
그래서 정렬 못시킨다.
문제105. 이름,입사일을 출력하는데 최근에 입사한
사원부터 출력하시오
SQL>select ename, hiredate
from emp
order by hiredate desc;
||
import csv
file = open('d:\\csv\\emp2.csv','r')
emp_csv = csv.reader(file)
sal_list = [ ]
for emp_list in emp_csv:
sal_list.append( [ (emp_list[4]), emp_list[1] ] )
sal_list.sort()
sal_list.reverse()
for i in sal_list:
print(i[1],i[0])
********sort가 앞에꺼만 된다!!!!!!!!!!
문제106.
이번에는 위의 문제를 pandas로 구현하시오
import pandas as pd
file=open('d:\\csv\\emp2.csv', 'r')
file2=pd.read_csv(file, header=None)
emp=file2.sort_values(4, ascending=False)
print(emp[[1,4]])
import pandas as pd
file=open('d:\\csv\\emp2.csv', 'r')
file2=pd.read_csv(file, header=None)
↑
컬럼명=없다
emp=file2.sort_values(4, ascending=False)
print(emp[[1,4]]) ↑ ↑
emp[4] 컬럼 지칭 ascending기준으로 오름/내림 결정
문제107.
이름,월급을 출력하는데 월급이 낮은 사원부터
높은 사원순으로 출력하시오
(판다스로)
import pandas as pd
file=open('d:\\csv\\emp2.csv', 'r')
file2=pd.read_csv(file, header=None)
emp=file2.sort_values(5, ascending=True)
print(emp[[1,5]])
■ 오라클과 파이썬의 그룹함수 비교
오라클 vs 파이썬
max max
min min
count len
sum sum
avg 사용자 정의 함수
예: sal_list=[800, 1250, 2000, 3000, 5000]
print(max(sal_list))
****
파이썬의 len 이
오라클의 count 개념과 비슷하다.
sal_list=[800, 1250, 2000, 3000, 5000]
print(len(sal_list))
****
문제108. 사원테이블에서 최대월급을 출력하시오
답: 5000
(중요한 사소한걸 자꾸 빼먹네)
파이썬으로
SQL> select max(sal)
from emp;
||
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
sal_list.append(int(emp_list[5]))
print(max(sal_list))
판다스로
import pandas as pd
emp=pd.read_csv("d:\\csv\\emp.csv")
result=max(emp['sal'])
print(result)
문제109.
사원테이블에서 토탈월급을 출력하시오
SQL> select sum(sal)
from emp;
||
파이썬으로
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
sal_list.append(int(emp_list[5]))
print(sum(sal_list))
판다스로
import pandas as pd
emp=pd.read_csv("d:\\csv\\emp.csv")
result=sum(emp['sal'])
print(result)
문제110.
사원테이블에서 평균월급을 출력하시오
(평균은 지정함수하던가
For 문으로 알아서 해야 함.)
SQL> select sum(sal)
from emp;
||
파이썬으로
import csv
file = open("d:\\csv\\emp2.csv","r")
emp_csv = csv.reader(file)
sal_list=[]
a=0
for emp_list in emp_csv:
sal_list.append(int(emp_list[5]))
a+=1
print(sum(sal_list)/a)
또다른거
def avg(x,y):
return sum(x)/y
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
sal_list.append(int(emp_list[5]))
print(avg((sal_list),len(sal_list)))
또 다른거
import csv
sal_list=[]
file=open("c:\\Users\kight\Desktop\세희쓰\PYTHON\\emp.csv", 'r')
emp=csv.reader(file)
for emp_list in emp:
sal_list.append(int(emp_list[5]))
sal_list.sort()
sal_list.reverse()
a=sum(sal_list)/len(sal_list)
print(a)
판다스로
import pandas as pd
emp=pd.read_csv("d:\\csv\\emp.csv")
result=(lambda x,y:x/y )(sum(sal_list), len(sal_list))
#sal_list가 있다는 가정하에
print(result)
또 다른거
import pandas as pd
emp=pd.read_csv("d:\\csv\\emp.csv")
avg=sum(emp['sal'])/len(emp['sal'])
print(avg)
또또 다른거
import pandas as pd
emp=pd.read_csv("d:\\csv\\emp.csv")
result=emp['sal'].mean()
print(result)
이런식으로 여러 함수를 적용할 수 있다.
import pandas as pd
emp=pd.read_csv("d:\\csv\\emp.csv")
result=emp['sal'].mean()
↓
이 자리에 이것저것 가능
print(result)
문제111.
직업이 SALESMAN 인 사원들의
최대월급을 출력하시오
파이썬으로
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
if emp_list[2]=='SALESMAN':
sal_list.append(int(emp_list[5]))
print(max(sal_list))
판다스로
import pandas as pd
emp=pd.read_csv("d:\\csv\\emp.csv")
result=emp['sal'][emp['job']=='SALESMAN'].max()
print(result)
문제112.
30번 부서번호인 사원들 중에서의
사원들의 토탈월급을 출력하시오
파이썬으로
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
sal_list=[]
for emp_list in emp:
if int(emp_list[7])==30:
sal_list.append(int(emp_list[5]))
print(sum(sal_list))
판다스로
import pandas as pd
emp=pd.read_csv("d:\\csv\\emp.csv")
result=emp['sal'][emp['deptno']==30].sum()
print(result)
***판다스에서는 int, str을 안해도
알아서 숫자,문자 인식해서 작업함
문제113.
직업, 직업별 최대월급을 출력하시오!
파이썬으로(set 사용!)
이것이 직업별 최대월급
import csv
a=0
job_list=[]
sal_list=[]
file=open("c:\\Users\kight\Desktop\세희쓰\PYTHON\\emp.csv", 'r')
emp=csv.reader(file)
for emp_list in emp:
job_list.append(emp_list[2])
job_list=list(set(job_list))
print(job_list)
for i in job_list:
sal_list=[]
import csv
file=open("c:\\Users\kight\Desktop\세희쓰\PYTHON\\emp.csv", 'r')
emp=csv.reader(file)
for emp_list in emp:
if emp_list[2]==i:
sal_list.append(emp_list[5])
print(i,max(sal_list))
이건 직업별 토탈월급 코딩:
import csv
file = open("d:\\csv\\emp2.csv", "r")
emp_csv = csv.reader(file)
job_list = []
for emp_list in emp_csv:
job_list.append(emp_list[2])
job = list(set(job_list)) # set: 중복제거, list: list화 해라.
sal_list = []
for i2 in job:
file = open("d:\\csv\\emp2.csv", "r")
emp_csv = csv.reader(file)
for emp_list in emp_csv:
if emp_list[2] == i2:
sal_list.append(int(emp_list[5]))
print(i2, sum(sal_list))
sal_list=[]
판다스로
import pandas as pd
emp=pd.read_csv("d:\\csv\\emp.csv")
result=emp.groupby('job')['sal'].max()
print(result)
문제114.
직업을 중복제거해서 출력하시오
import csv
file=open("d:\\csv\\emp2.csv", 'r')
emp=csv.reader(file)
job_list=[ ]
for emp_list in emp:
job_list.append(emp_list[2])
job = list(set(job_list))
print(job)
set : 중복제거 함수
#예제:
집합 선언
set1 = set([1,2,3])
set2 = set("Conor Mcgregor")
print set1
print set2
**********************
import csv
file=open("d:\\csv\\emp2.csv","r")
emp_csv = csv.reader(file)
job_list=[]
for emp_list in emp_csv:
job_list.append(emp_list[2])
job=set(job_list)
print(job)
↓
job = list(set(job_list))
list 없으면 { } 로 씌워져서 출력됨
문제115.
직업, 직업별 토탈월급을 출력하는데
직업별 토탈월급이 높은것부터 출력하시오
파이썬으로
-------------------------------------
우용답(이걸로 이해했음)
import csv
file = open('d:\\csv\\emp2.csv','r')
emp_csv = csv.reader(file)
job_list=[]
val=[]
for emp_list in emp_csv:
job_list.append(emp_list[2])
job=list(set(job_list))
for i in job:
import csv
file = open('d:\\csv\\emp2.csv','r')
emp_csv = csv.reader(file)
sal_list=[]
for emp_list in emp_csv:
if emp_list[2] == i:
sal_list.append(int(emp_list[5]))
val.append([sum(sal_list),i])
#print(val)
#val=[[5000,president],[6000,analyst],[5600,salesman],[8275,manager],[4150,clerk]]
val.sort() #sort, reverse 위치 상관없음
val.reverse()
for z in val:
#z=[5000,president],[6000,analyst],[5600,salesman],[8275,manager],[4150,clerk]
#print(z)#리스트가 아니라서 한개씩 세로로 출력
print(z[1],z[0])
--------------------------------------------
제가 겨우겨우 풀었;;
import csv
job_list=[]
val_list=[]
sal_list=[]
file = open('d:\\csv\\emp2.csv','r')
emp_csv = csv.reader(file)
for emp_list in emp_csv:
job_list.append(emp_list[2])
job_list=list(set(job_list))
print(job_list)
for i in job_list:
import csv
file = open('d:\\csv\\emp2.csv','r')
emp_csv = csv.reader(file)
sal_list=[]
for emp_list in emp_csv:
if emp_list[2]==i:
sal_list.append(int(emp_list[5]))
val_list.append([sum(sal_list),i])
print(val_list)
val_list.sort()
val_list.reverse()
for j in val_list:
print(j[0],j[1])
sort는 [0]번째 값만 정렬 시킨다.
*****변수에 값 입력시킬 때
append 와 val=[ ] 의 차이******
val.append 하면 리스트 줄바꿈 없이 끝에 값이 붙는다.
['PRESIDENT',5000 'ANALYST', '6000',….'CLERK',4150]
val=([i, sum(sal_list)]) 이렇게 하면 ROW로 붙는다.
['PRESIDENT', 5000]
['ANALYST', 6000]
['MANAGER', 8275]
['SALESMAN', 5600]
['CLERK', 4150]
이 문제에서
우리가 원하는 값
문제116.(오늘의 마지막 문제)
문제115번의 결과를 판다스로 수행하시오
판다스로
import pandas as pd
emp=pd.read_csv('d:\\csv\\emp.csv')
result=emp.groupby('job')['sal'].sum().sort_values(ascending=False)
print(result)
참고
문제219. 이름과 월급을 출력하는데 월급이 높은것부터
출력하시오 !( pandas 이용)
import pandas as pd
emp = pd.read_csv("D:\data\emp.csv")
result = emp[['ename','sal']].sort_values('sal',ascending=False)
print ( result )
■ 37. 튜플 이해하기 ( ( ) )
*튜플(tuple) 변수란?
리스트 변수와는 다르게 요소 데이터의 변경이 불가능한 자료형
리스트는 대괄호 [ ] 로 요소들을 둘렀는데
튜플은 소괄호 ( ) 로 요소를 감싼다.
"변경이 안되므로 튜플로 만든 데이터에 대한 신뢰도가
높아진다."
예제:
tupple1=(1,2,3,4,5)
tupple2=('a','b','c','d')
tupple3=(1,'a','abc', [1,2,3] )
tupple1[0]=6 <---? 왜 쓰신거지?
■ 38. 딕셔너리 자료형 이해하기 ( { } )
*딕셔너리 자료형이란?
딕셔너리 자료형은 key와 value를 조합해서 사용하는 자료형
예:
dic = { }
dic['파이썬']='www.python.ort'
↑ ↑
key values
print(dic)
print(dic.keys() )
print(dic.values() )
네이버 번역기(파파고), 구글 번역기는
신경망을 통해서 수많은 영문과 번역된 한글을
입력시켜서 학습을 시킨다.
부산대 대학원에서 만든 번역기는 규칙기반으로 만들었다.
(5기 원지은 학생이 일하고 있음)
문제117.
딕셔너리 자료형을 이용해서
주어가 0,
명사가 2,
동사가 1로 해서
한글과 영문을 저장하시오
dic={ }
dic['나는']=('I', 0)
dic['소년']=('boy', 2)
dic['이다']=('am',1)
dic['피자']=('pizza',2)
dic['먹는다']=('eat',1)
print(dic)
{키:밸류, 키:밸류 ....... }
->>이런식으로 중괄호 한쌍에 연속적으로 다 들어갔다.
한글 어순: 나는 소년 입니다(주어+ 명사 + 동사)
영어 어순: I am boy (주어+ 동사+ 명사)
문제118. 아래와 같이 번역할 한글을 물어보게 하고
한글을 입력하면 영어로 번역하는
프로그램을 파이썬으로 작성하시오.
번역할 한글 입력하세요! 나는 소년 입니다
I am boy
뒤에서 했음! ! ! ! !2개 합치라는거! ! !
일단 보류!!!!!!!!
내가 문제만 읽고, 아무런 힌트없이 진행해본 거
dic={}
inp_kor=input('한글을 입력하시오 ')
inp_list=[]
inp_list=inp_kor.split(' ')
a=inp_list
print(a)
dic[a[0]]=('I',0)
dic[a[1]]=('boy',2)
dic[a[2]]=('am',1)
print(dic.values[0])
에러떴으나 상당한 장족의 발전이다.
문제119. 아래와 같이 번역할 한글을 입력하세요~
라는 말을 물어보게 하고
아래와 같이 결과가 출력되게 하시오.
번역할 한글을 입력하세요~ 나는 소년 입니다
답:
result=''
input_kor=input('번역할 한글을 입력하세요~')
input_list=input_kor.split(' ')
print(input_list)
혼자풀어본거:
dic={}
inp_kor=input('한글을 입력하시오 ')
inp_list=[]
inp_list=inp_kor.split(' ')
a=inp_list
print(a)
문제120.
위의 문제에서 input_list에 있는 요소를 하나씩
뽑아내서 출력하시오.
result=''
input_kor=input('번역할 한글을 입력하세요~')
input_list=input_kor.split(' ')
for i in input_list:
print(i)
문제121.
dict 딕셔너리 변수에서 I 를 출력하시오.
(print 안 써도 출력 된다!!!!!!!!!!)
dic={ }
dic['나는']=('I', 0)
dic['소년']=('boy', 2)
dic['이다']=('am',1)
dic['피자']=('pizza',2)
dic['먹는다']=('eat',1)
print(dic['나는'][0])
=dic['나는'][0]
문제122.
아래의 dictionary의 요소중에 값의 2인 숫자만
a 라는 비어있는 리스트를 만들고
a 리스트에 아래와 같이 입력하시오
번역할 한글을 입력하세요~ 나는 소년 입니다.
결과: [0,2,1]
dic={ }
dic['나는']=('I', 0)
dic['소년']=('boy', 2)
dic['이다']=('am',1)
dic['피자']=('pizza',2)
dic['먹는다']=('eat',1)
dic['입니다']=('am',1)
result=''
input_kor=input('번역할 한글을 입력하세요~')
input_list=input_kor.split(' ')
a = []
for i in input_list:
a.append(dic[i][1])
print(a)
과정
문제123. 위의 코드를 수정해서 아래와 같이 결과가 출력되게
하시오
번역할 한글을 입력하세요~ 나는 소년 입니다.
dic={ }
dic['나는']=('I', 0)
dic['소년']=('boy', 2)
dic['이다']=('am',1)
dic['피자']=('pizza',2)
dic['먹는다']=('eat',1)
dic['입니다']=('am',1)
result=''
input_kor=input('번역할 한글을 입력하세요~')
input_list=input_kor.split(' ')
a = []
for i in input_list:
a.append([dic[i][1],dic[i][0]])
print(a)
문제124.
위의 코드를 수정해서 아래와 같이 출력되게 하시오
번역할 한글을 입력하세요~ 나는 소년 입니다
I
boy
am
result = ''
input_kor = input('번역할 한글을 입력하세요~ ')
input_list = input_kor.split(' ')
print(input_list)
a = []
for i in input_list:
a.append([dic[i][1],dic[i][0]])
print(a)
for c in a:
print(c[1])
문제125. 위의 결과는 I am boy 로 출력되게 하시오
***sort는 정렬시킬 기준이 있어야 작동한다.
result = ''
input_kor = input('번역할 한글을 입력하세요~ ')
input_list = input_kor.split(' ')
print(input_list)
a = []
for i in input_list:
a.append([dic[i][1],dic[i][0]])
print(a)
a.sort()
for c in a:
print(c[1])
-------------------------
다른답:
dic={}
dic['나는']=('I',0)
dic['소년']=('boy', 2)
dic['입니다']=('am', 1)
dic['피자']=('pizza',2)
dic['먹는다']=('eat',1)
inp_kor=input('번역할 한글을 입력하세요 ')
inp_list=inp_kor.split(' ')
print(inp_list)
b=[]
c=[]
for i in inp_list:
b.append(dic[i][0])
b.sort()
for j in b:
print(j)
문제126.
위의 번역된 결과가 가로로 출력되게 하시오.
번역할 한글을 입력하세요~ 나는 소년 입니다
I am boy
dic={}
dic['나는']=('I',0)
dic['소년']=('boy', 2)
dic['입니다']=('am', 1)
dic['피자']=('pizza',2)
dic['먹는다']=('eat',1)
inp_kor=input('번역할 한글을 입력하세요 ')
inp_list=inp_kor.split(' ')
print(inp_list)
b=[]
for i in inp_list:
b.append(dic[i][0])
print(b)
b.sort()
for j in b:
print(j, end=' ')
반장:
result = ''
input_kor = input('번역할 한글을 입력하세요~ ')
input_list = input_kor.split(' ')
print(input_list)
a = []
for i in input_list:
a.append([dic[i][1],dic[i][0]])
print(a)
a.sort()
for j in a:
result += j[1] + ' '
print(result)
선혜:
a.sort()
for j in a:
print(j[1], end=' ')
↑
줄바꾸지 말고, 공백을 사이에 둬서 한 라인안에 출력하라.
문제127.
나는 옷을 입습니다 라는 말이
영어로 번역되게 dic 딕셔너리 구성하고 번역되게 하시오
입력: 나는 옷을 입습니다
결과: I wear cloth
dic={ }
dic['나는']=('I', 0)
dic['옷을']=('cloth', 2)
dic['이다']=('am',1)
dic['피자']=('pizza',2)
dic['먹는다']=('eat',1)
dic['입습니다']=('wear',1)
dic={ }
dic['나는']=('I', 0)
dic['옷을']=('cloth', 2)
dic['이다']=('am',1)
dic['피자']=('pizza',2)
dic['먹는다']=('eat',1)
dic['입습니다']=('wear',1)
inp_kor=input('번역할 한글을 입력하세요 ')
inp_list=inp_kor.split(' ')
print(inp_list)
b=[]
for i in inp_list:
b.append(dic[i][0])
print(b)
b.sort()
for j in b:
print(j, end=' ')
문제128.
smd_dic.csv 파일을 파이썬으로 로드해서
아래와 같이 리스트화 하시오
주어:0
동사:1
보어(명사):2
import csv
file = open("C:\\Users\itwill\Documents\카카오톡 받은 파일\\smt_dic.csv","r")
emp_csv = csv.reader(file)
for emp_list in emp_csv:
print(emp_list)
['-1', '희롱', '희롱하다', 'Mock', '1', '박상범']
['1', '희망', '희망', 'Hope', '2', '박상범']
['-1', '희망 없', '희망이 없다', 'There is no hope', '1', '박상범']
['-1', '희망없', '희망이 없다', 'There is no hope', '1', '박상범']
['-1', '희미', '희미하다', 'Faint', '1', '박상범']
['-1', '희생', '희생하다', 'sacrifice', '1', '박상범']
0 1 2 3 4 5
dic['희생']=('sacrifice', 1)
문제129.
smt_dic.csv 를 리스트화한 위의 코드에 for loop 문을
사용해서 4239개의 영어와 한글 단어들을
dic 딕셔너리에 다 입력하시오
['-1', '희생', '희생하다', 'sacrifice', '1', '박상범']
0 1 2 3 4 5
dic['희생']=('sacrifice', 1)
import csv
file = open("C:\\Users\itwill\Documents\카카오톡 받은 파일\\smt_dic2.csv","r")
emp_csv = csv.reader(file)
dic={}
for emp_list in emp_csv:
dic[emp_list[1]] = (emp_list[3], int(emp_list[4]))
print(dic)
print(len(dic))
나는 소년 이다
문제130.
문제129번 코드와 문제127번 코드를 합쳐서
번역 프로그램을 완성하시오
번역할 한글을 입력하세요~ 나는 소년 이다
import csv
file = open("C:\\Users\itwill\Documents\카카오톡 받은 파일\\smt_dic2.csv","r")
emp_csv = csv.reader(file)
dic={}
for emp_list in emp_csv:
dic[emp_list[1]] = (emp_list[3], int(emp_list[4]))
print(dic)
print(len(dic))
result = ''
input_kor = input('번역할 한글을 입력하세요~ ')
input_list = input_kor.split(' ')
print(input_list)
a = []
for i in input_list:
a.append([dic[i][1],dic[i][0]])
print(a)
a.sort()
for j in a:
result += j[1] + ' '
print(result)
문제131. (점심시간 문제)
(*파이썬200제 예제 55번_예외처리 배우고 풀어야함)
위의 코드에 if 문을 추가해서
번역이 안되면 번역할 수 없습니다. 라는
메세지가 출력되게 하시오.
번역할 한글을 입력하세요~ 나는 소년 이다
i am boy
번역할 한글을 입력하세요~ 나는 피자를 먹습니다
번역할 수 없습니다
'python' 카테고리의 다른 글
8. 함수, 지역/번역 변수 (0) | 2019.03.25 |
---|---|
★리스트/함수 (0) | 2019.03.25 |
6. 문자열, escape (0) | 2019.03.24 |
5. 시퀀스 자료 (0) | 2019.03.24 |
파이썬vs오라클vs판다스 연산자 (0) | 2019.03.24 |