Python Study 4일차
Lan2 김원희
1. 점수추출
◆ 배열을 이용한 코드(오류 : 점수와 이름 매치 X)
scores = []
names = []
result_f = open("results.txt")
for line in result_f:
(name, score) = line.split()
scores.append(float(score))
names.append(name)
result_f.close()
scores.sort()
scores.reverse()
names.sort()
names.reverse()
print("The highest scores were : ")
print(names[0]+' with '+str(scores[0]))
print(names[1]+' with '+str(scores[1]))
print(names[2]+' with '+str(scores[2]))
해시 : 두 개의 열만을 갖지만 수많은 행을 가지는 구조체
{} 괄호 사용
해시명[key]=value
mapping, dictionary, associative array, key-value list 등 프로그래밍 언어마다
다른 이름으로 불린다.
◆ 이름과 점수가 제대로 연결되어 나오는 코드
- sort() : 불러온 원래의 데이터를 정렬한다. 원래의 순서는 사라지게 된다.
- sorted() : 데이터를 불러와서 사본을 정렬한다.
- 해시에는 sort() 메소드가 없는 대신 sorted() 함수가 있다.
◆ 성적대로 추출해내는 코드
2. ID 입력하여 선수 정보 출력하는 프로그램
ID: 101
Name: Johnny ‘wave-boy’ Jones
Country: USA
Average: 8.32
Board type: Fish
Age: 22
◆ 한 라인을 읽어서 출력해내는 코드
line = "101;Johnny 'wave-boy' Jones;USA;8.32;Fish;21"
s={}
(s['id'],s['name'],s['country'],s['average'],s['board'],s['age'])=line.split(";")
print("ID: "+s['id'])
print("Name: "+s['name'])
print("Country: "+s['country'])
print("Average: "+s['average'])
print("Board: "+s['board'])
print("Age: "+s['age'])
◆ 데이터 반환하는 코드
def find_details(id2find):
surfers_f = open("surfing_data.csv")
for each_line in surfers_f:
s={}
(s['id'],s['name'],s['country'],s['average'],s['board'],s['age'])=each_line.split(";")
if id2find == int(s['id']):
surfers_f.close()
return(s)
surfers_f.close()
return({})
lookup_id = int(input("Enter the id of the surfer: "))
surfer =find_details(lookup_id)
if surfer:
print("ID: "+surfer['id'])
print("Name: "+surfer['name'])
print("Country: "+surfer['country'])
print("Average: "+surfer['average'])
print("Board: "+surfer['board'])
print("Age: "+surfer['age'])
'프로그래밍언어 > Python' 카테고리의 다른 글
Python 스터디 6일차 (0) | 2014.01.24 |
---|---|
Python 스터디 5일차 (0) | 2014.01.24 |
Python 스터디 3일차 (0) | 2014.01.24 |
Python 스터디 2일차 (0) | 2014.01.15 |
Python 스터디 1일차 (0) | 2014.01.15 |