with open('./resource/score.txt', 'r') as f: score = [] for line in f: score.append(int(line)) print(score) print('Average : {:6.3f}'.format(sum(score) / len(score))) #{6자리고 소수셋째자리까지라는 의미}
# 출력값 [95, 78, 92, 89, 100, 66] Average : 86.7
5. 파일 쓰기
빌트인패키지인 random을 이용해서 파일을 써보자 로또번호와 비슷하게 6개 랜덤번호를 출력하는 예제이다.
1 2 3 4 5 6 7
from random import randint #랜덤파일로부터 randint함수를 가져와라는 뜻
with open('test2.txt', 'w') as f: for cnt in range(6): # range(6)은 0~5까지임. f.write(str(randint(1, 50))) # 1부터50까지 f.write('\n')
writelines : 리스트 -> 파일로 저장
1 2 3
with open('test3.txt', 'w') as f: list = ['Kim\n', 'Park\n', 'Lee\n'] f.writelines(list)
print로 바로 저장하는 예제이다
1 2 3
with open('./resource/test3.txt', 'w') as f: print('Test Contents!', file=f) print('Test Contents!!', file=f)
//1. 선언 import java.util.Scanner; // import라는 예약어는 // 단축키는 ctrl + shift + O 누르면 자동으로 import 생성됨
Scanner sc = new Scanner(System.in); // 의미는 나는 이제부터 스캐너라이브러리를 변수명(ex: sc)이라는 이름으로 불러서 사용하겠다는 의미 // System.in 자바의 표준입력으로 키보드를 의미한다. 즉 키보드로부터 데이터를 받아오겠다라는 의미
System.out.println("단어를 입력하세요");
//2. 변수 s에 저장 String s = sc.next(); // 콘솔창에 입력한 것들이 변수 s에 저장된다.
//3. 출력 System.out.println(s);
//4. 예시 System.out.println("이름을 입력해주세요"); String s = sc.next(); System.out.println("연락처를 -없이 입력해주세요"); int i = sc.nextInt(); System.out.println("입력하신 "+ s +"님의 휴대폰번호 0"+ i +" 가 맞습니까?");
다른 명령어들은 아래와 같다
1 2 3 4 5 6 7 8
sc.nextInt() //키보드로부터 정수데이터를 가지고 옴
sc.next() //키보드로부터 string(한단어)를 가지고 옴
sc.nextLine() //키보드로부터 string(공백을 포함한 한줄전체)를 가지고 옴
2. Scanner 라이브러리를 이용한 사칙연산계산기 만들기
처음 떠오른 코드는 아래와 같다.
1 2 3 4 5 6 7 8
Scanner sc = new Scanner(System.in); System.out.println("원하는 사칙연산 수식을 입력하세요"); int data1 = sc.nextInt(); String operator = sc.next(); int convertOper = int(operator); int data2= sc.nextInt();
정수식안에는 변수, 숫자, 문자, 조건들이 들어갈 수 있다. case안의 값에는 and연산자, Boolean, 실수는 아예 들어갈 수 없다. break;문이 없을 경우 다음 break;를 찾을때까지 모든 문장을 실행한다. default문은 가장 마지막 작업으로 위의 case 이외의 값인 경우 default문은이 출력되고 Switch문은 끝난다
1 2 3 4 5 6 7 8 9
switch( 정수식 ){ //숫자,문자 case 값 : 출력값1; break; case 값 : 출력값2; break; case 값 : 출력값3; break; default : 출력값4; }
예시
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
switch(season){ case"spring" : System.out.println("봄 사랑 벚꽃 말고 by 아이유"); break; case"summner" : System.out.println("party by 소녀시대"); break; case"autumn" : case"fall" : System.out.println("11:11 by 태연"); break; case"winter" : System.out.println("Santa tell me by Ariana grande"); break;
우리가 빌트인인지 모르고 사용했던 list함수, type함수등이 들어가 있는 것을 확인할 수 있다
4. __init__.py의 필요성
용도 : 해당 디렉토리가 패키지임을 선언할 때 사용한다. Python 2.x대를 사용하고 있다면 __init__.py가 필수이다 Python3.x : 파일이 없어도 패키지 인식하지만 3.x보다 하위 버전 호환 위해서 생성하는 것이 안전
5. 단위테스트
독립적으로 만든 파일이 독립적으로 잘 실행되는지는 확인하기 위해서 아래 if name문을 써준다 아래 형태로 쓰도록 딱 정해놓았다. 만든함수()부분에 만들었던 함수들을 넣어 독립적으로 실행되는지 체크할 수 있다 if문이기때문에 import으로 가져온 파일에서는 출력이 안된다 GOOD!
1 2 3 4 5
# 단위 실행(독립적으로 파일 실행) if __name__ == "__main__": print("This is", dir()) 만든함수() 만든함수()