인공지능, 데이터분석/[python] 문법, 실습문제

[Python 문법] 파이썬 with open(파일 읽기, 쓰기, 추가), 인공지능 챗봇 실습, 파일복사

마법사 코딩공주 2023. 4. 26. 13:14
728x90
반응형

▶ 파일 읽기 : read / 파일 쓰기 : write / 파일 추가 : append

파일 관련 함수

  • open() 함수로 파일을 불러옴
  • read() 함수로 파일의 내용을 읽음
  • close() 함수로 파일을 닫는다
  • with open() as f: 로 파일을 불러오고 닫음

파일 관련 응용실습

## 응용프로그래밍
윈도우 등의 파일 복사하기 기능
실제로 이미지 파일을 복사하는 프로그램 만들기
file1 = "smalldog.jpeg"
backup = "smalldog_back.jpeg"

infile = open(file1, 'rb')
outfile = open(backup, 'wb')

while True:
   copy_buffer = infile.read(1024) # 파일을 1024바이트씩 읽는다.
   if not copy_buffer: # 읽어올 내용이 없으면(이미지내용)
      break
   outfile.write(copy_buffer)

infile.close()
outfile.close()
print("복사완료")

실습 문제 - 인공지능

간단한 대화 인공지능 만들기, 인사말과 기본 대화를 써둔 sample1.txt를 읽어와서 내가 인사를 하면 그중에 대화 중 하나를 이야기 하는 인공지능 구현하기

  • 한줄씩 읽어온다. readline(),
  • 한줄씩 읽어온 내용을 list에 저장한다.(append)
  • 하나의 대화를 입력받는다. (input)
  • 대화에 대한 하나의 기계가 랜덤하게 인사말을 선택해서 한다.(random)

1. 파일 생성

with open("/content/newFolder/sample1.txt", "w") as f:
    f.write("안녕하세요 반갑습니다.")
    f.write("\n다시 말해주세요.")
    f.write("\n오늘은 추워요")

2. 파일 불러오기

with open("/content/newFolder/sample1.txt", "r") as f:
    s = f.readlines() # 전체 줄 불러오기기(전체 내용을 list로 저장)
    print(s[1]) # 테스트

3-1. 특정 단어에 맞는 문장 출력하기

l = input()

if l == '안녕':
    print(s[0])
elif l == '날씨 어때?':
    print(s[2])
else:
    print(s[1])

3-2. random을 사용하여 단순한 인공지능 챗봇 구현하기

import random

l = input()

var = random.randint(0, 3)
print(s[var])

3-3. 여러 대화 해보기

while True:
    print("무엇을 도와드릴까요")
    l = input()

    if l == '나가기':
        break

    if l == '안녕':
        print(s[0])
    elif l == '날씨 어때?':
        print(s[2])
    else:
        print(s[1])

 

728x90
반응형