728x90
반응형
파일입출력
f=open("test.txt","w") # ->test.txt -> 상대경로다 C 나 D로 시작하지 않으니
# 안의 -> 표시가 / 이다
f=open("abc/test.txt","w")
open(A,B)
A : 파일경로를 포함한 파일이름
B : 권한
경로의 종류!!
절대경로 : 하나뿐인 경로 (윈도우:드라이브로부터, 리눅스:/로부터)
상대경로 : 현재위치로부터의 경로!!
권한의 종류
r(ead) : 있는 파일을 읽어야 해요! (경로신경을 써주세요!)
w(rite) : 새로 쓰기, 기존의 내용이 날아간다! (파일의 원본 검사!)
a(ppend)
f=open("test.txt","w")
f.write("hello")
# Q. 구구단이라는 폴더 생성
# 코드 돌렸을 때
# 2단.txt~9단.txt
# 각각의 파일 안에는 구구단이 찍혀있도록
for i in range(2,10):
f=open(f"구구단/{i}단.txt","w")
for j in range(1,10):
f.write(f"{i}x{j}={i*j}\n")
f=open("korea.txt","w",encoding="utf-8") # 메모장은 인코딩 안 해도 잘 나오긴 한다.
f.write("파이썬 허니잼")
쓰기 권한은 없는 파일 지정하면 생성해버린다.
파일입출력은 AMSI(cp949) 방식으로 인코딩된다!!
인코딩 : 어떤 데이터를 010101010로 바꾸는 것
디코딩 : 10101010100를 데이터로 바꾸는 것.
파일포인터 (커서의 움직임을 주목해라, 다음 코드는 커서의 위치에서 시작)
f=open("korea.txt","r",encoding="utf-8")
print(f.read()) # 파일전체 , 괄호안에 숫자 넣으면 그 글자수만큼은
print(f.readline()) # 한 줄만 출력
print(f.readlines()) # 한줄 한줄 리스트
위 3개를 동시에 출력하면 read 빼고 다 안 나온다
읽는 건 서로 중첩되지 않는다...파일포인터 참조.
f.seak(0) 을 이용하면 되지만 랭킹변환을 할 줄 알아햐 한다. 밤낮 새고 싶으면 공부해봐라.
korea.txt 복사하기
f=open("korea.txt","r",encoding="utf-8")
내용=f.read()
print(내용)
g=open("[복사본]korea.txt","w",encoding="utf-8")
g.write(내용)
-------------------------------------------------------------------------------------------------------------
dict 자료형 복습, in 멤버연산자 복습, while 문으로 구조적 프로그램 만들기 복습
# 나만의 단어장 (dictionary 자료형 복습)
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 1
apple
banana
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 3
추가할 단어를 입력하세요 : apple
단어가 이미 존재합니다.
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 3
추가할 단어를 입력하세요 : air
air 의 뜻을 입력하세요 : 공기
air 가 추가되었습니다.
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 2
단어를 검색해주세요 : apple
apple 의 뜻은 '사과' 입니다.
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 2
단어를 검색해주세요 : glass
glass 는 없는 단어입니다.
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 4
수정할 단어를 검색해주세요 : apple
apple 의 뜻을 입력해주세요 : 사아과
apple 의 뜻이 수정되었습니다.
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 4
수정할 단어를 검색해주세요 : dynamite
등록되어있지 않은 단어입니다.
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 5
삭제할 단어를 검색해주세요 : dynamite
등록되어있지 않은 단어입니다.
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 5
삭제할 단어를 검색해주세요 : air
air 가 삭제됩니다.
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 1
apple
banana
==============================
1. 단어목록보기
2. 단어검색
3. 단어추가
4. 단어수정
5. 단어삭제
6. 프로그램 종료
==============================
메뉴입력 : 6
너 좀 서운해 :(
-------------------------------------------------------------------------------------------------------------
T 풀이
import os
d = {}
if os.path.isfile("word.txt"): # os.path.isfile("word.txt") >>>>> 파일이 존재하는지 안 하는지 확인 가능
f = open("word.txt", "r", encoding="utf-8")
for i in f.read().split():
w = i.split(",") # ["apple", "사과"]
d[w[0]] = w[1]
while True:
print("="*30)
print("1. 단어 목록보기")
print("2. 단어 검색")
print("3. 단어 추가")
print("4. 단어 수정")
print("5. 단어 삭제")
print("6. 종료")
print("="*30)
menu = input("메뉴 입력 : ")
if menu == "1":
if d:
for i in d:
print(i)
else:
print("사전이 비어있습니다!")
elif menu == "2":
word = input("단어 검색 : ")
if word in d:
print(f"{word} 의 뜻은 '{d[word]}' 입니다!")
else:
print("사전에 등록되지 않은 단어입니다")
elif menu == "3":
word = input("추가할 단어를 입력해주세요 : ")
if word in d:
print("이미 사전에 등록되어있습니다.")
else:
mean = input(f"{word} 의 뜻을 입력해주세요 : ")
d[word] = mean
print(f"{word} 가 등록됩니다!!")
elif menu == "4":
word = input("수정할 단어를 입력해주세요 : ")
if word in d:
mean = input(f"{word} 의 뜻을 입력해주세요 : ")
if mean == d[word]:
print("이미 설정되어있는 값입니다 :( !!")
else:
d[word] = mean
print(f"{word} 의 뜻이 '{mean}' 으로 변경됩니다!!")
else:
print("사전에 등록되지 않은 단어입니다")
elif menu == "5":
word = input("삭제할 단어를 입력해주세요 : ")
if word in d:
del d[word]
print(f"{word} 가 삭제됨!!")
else:
print("사전에 등록되지 않은 단어입니다")
elif menu == "6":
print("너 좀 서운해 :(")
g = open("word.txt", "w", encoding="utf-8")
for i in d:
g.write(f"{i},{d[i]}\n")
break
else:
print("입력이상!!")
-------------------------------------------------------------------------------------------------------------
# csv 과제
90 점이상 100만원
80 점이상 50만원
70 점이상 30만원
국어, 수학, 과학 파일에서 데이터 추출하고 평균내서 총장학금 구하기
80 점이상 50만원
70 점이상 30만원
국어, 수학, 과학 파일에서 데이터 추출하고 평균내서 총장학금 구하기
su=0
f=open("score.csv","r",encoding="utf-8")
f.readline() # 문자열 넘기기
for i in f:
a=f.readline()
print(a)
b=a.split(",")
print(b)
li=[]
for j in b:
c=int(j)
li.append(c)
print(li)
d=sum(li)/len(li)
if d>=90:
su+=100
elif d>=80:
su+=50
elif d>=700:
su+=30
else:
pass
print(su)
728x90
반응형
'IT&코딩 > python' 카테고리의 다른 글
python 4주차 복습-3 (0) | 2022.07.31 |
---|---|
python 4주차 복습-3 (0) | 2022.07.29 |
python 4주차 복습-1 (0) | 2022.07.27 |
python 3주차 복습-4 (0) | 2022.07.23 |
python 3주차 복습-3 (0) | 2022.07.23 |