728x90
반응형
# -*- coding: utf-8 -*-
"""
Created on Fri Jun 17 14:42:22 2022
@author: KITCOOP
test0617_A.py
"""
'''
1. mod2.py 파일을 읽어서 mod2.bak 파일로 복사하기.
'''
infp = open("mod2.py", "r", encoding='UTF8')
outfp = open("mod2.bak","w",encoding="UTF8")
while True :
inStr = infp.readline()
if inStr == '' :
break
outfp.writelines(inStr)
infp.close()
outfp.close()
print("프로그램 종료")
'''
2. 현재폴더에 temp폴더를 생성하고, 생성된 폴더에 indata.txt 파일을
생성하여 생성된파일에 키보드에서 입력된 정보 저장하는 프로그램
구현하기
'''
import os
wpath = os.getcwd()+"/temp"
if not os.path.exists(wpath) :
os.mkdir("temp")
outfp = open("temp/indata.txt",'w',encoding='UTF8')
while True :
inline = input("저장 내용=>")
if inline == '' :
break
outfp.writelines(inline+"\n")
outfp.close()
'''
3.원본 파일의 이름을 입력받고, 입력받은 복사본 파일이름으로 복사하는
프로그램 작성하기
원본파일이 없는 경우 원본 파일이 존재하지 않습니다. 출력하기
[결과]
원본파일의 이름을 입력하세요 : aaa
원본파일이 존재하지 않습니다.
원본파일의 이름을 입력하세요 : data.txt
복사본파일의 이름을 입력하세요 : databak.txt
복사완료
'''
infile = input("원본파일의 이름을 입력하세요 : ")
try :
inFp=open(infile, "r", encoding='utf-8')
outfile = input("복사본파일의 이름을 입력하세요 : ")
outFp=open(outfile, "w", encoding='utf-8')
inList = inFp.readlines()
for inStr in inList :
outFp.writelines(inStr)
inFp.close()
outFp.close()
print("\n복사완료")
except :
print("원본파일이 존재하지 않습니다.")
'''
4. 다음 number 데이터를 이용하여 큰글씨를 출력하는 프로그램 작성하기
[결과]
숫자를 입력하세요 =>12345
* *** *** * * ***
* * * * * *
* *** *** *** ***
* * * * *
* *** *** * ***
'''
number= [["*** ","* * ","* * ","* * ","*** "],
[" * "," * "," * "," * "," * "],
["*** "," * ","*** ","* ","*** "],
["*** "," * ","*** "," * ","*** "],
["* * ","* * ","*** "," * "," * "],
["*** ","* ","*** "," * ","*** "],
["*** ","* ","*** ","* * ","*** "],
["*** "," * "," * "," * "," * "],
["*** ","* * ","*** ","* * ","*** "],
["*** ","* * ","*** "," * "," * "]
]
num = input("숫자를 입력하세요 =>")
for i in range(5) :
for n in num :
print(number[int(n)][i],end=" ")
print()
'''
5. sqlite의 mydb의 테이블의 내용 조회하기
sql 구문을 입력하고 다음과 같은 결과가 출력되도록 프로그램을 작성하시오
[결과]
sql 입력하세요=========
select * from member
조회 레코드수: 6 ,조회 컬럼수: 3
('hongkd', '홍길동', 'hongkd@aaa.bbb')
('kimsg', '김삿갓', 'kimsg@aaa.bbb')
('test1', '테스트1', 'test1@aaa.bbb')
('test2', '테스트2', 'test2@aaa.bbb')
('test3', '테스트3', 'test3@aaa.bbb')
('test4', '테스트4', 'test4@aaa.bbb')
sql 입력하세요=========
insert into member (id,name,email) values ('a','a','a')
sql 입력하세요=========
select * from member
조회 레코드수: 7 ,조회 컬럼수: 3
('hongkd', '홍길동', 'hongkd@aaa.bbb')
('kimsg', '김삿갓', 'kimsg@aaa.bbb')
('test1', '테스트1', 'test1@aaa.bbb')
('test2', '테스트2', 'test2@aaa.bbb')
('test3', '테스트3', 'test3@aaa.bbb')
('test4', '테스트4', 'test4@aaa.bbb')
('a', 'a', 'a')
sql 입력하세요=========
'''
import sqlite3
conn = sqlite3.connect("mydb")
cur = conn.cursor()
while True :
sql = input("sql 입력하세요=========\n")
if sql=="" :
break
cur.execute(sql)
rows = cur.fetchall()
if len(rows) > 0 :
print()
print("조회 레코드수:",len(rows),",조회 컬럼수:",len(rows[0]))
print()
for row in rows :
print(row)
cur.close()
conn.close();
"""
6. 화면에서 숫자를 입력받아 야구 게임하기
1. 시스템이 중복되지 않은 숫자 4개를 저장
list2=list(set1) : set1 객체를 list 형으로 변환
2. 화면에서 숫자를 입력받으면, strike, ball을 출력
3. 4 strike인 경우 정답.
[결과]
서로다른 4자리 숫자를 입력하세요: 1234
Strike: 0 Ball: 3
서로다른 4자리 숫자를 입력하세요: 5678
Strike: 0 Ball: 1
서로다른 4자리 숫자를 입력하세요: 2348
Strike: 3 Ball: 0
서로다른 4자리 숫자를 입력하세요: 2346
4 번만에 맞췄습니다.
"""
import random
list1=[]
set1 = set(list1)
while len(set1) < 4 :
rnum = random.randrange(0,10)
set1.add(rnum)
list1 = list(set1)
print(list1)
cnt = 0
while True :
number = input("서로다른 4자리 숫자를 입력하세요: ")
cnt += 1
strike = 0
ball = 0
for n in number:
num = int(n)
if list1.count(num) == 1:
if number.find(n) == list1.index(num):
strike += 1
else:
ball += 1
if(strike == 4) :
break
else :
print("Strike:", strike, "Ball:", ball)
print(cnt,"번만에 맞췄습니다.")
728x90
반응형
'study > Python' 카테고리의 다른 글
[Python] 35. Test (0) | 2022.06.20 |
---|---|
[Python] 35. pandas(Series, DataFrame, 기술통계함수, 데이터 복사/삭제/조회/저장하기) (0) | 2022.06.20 |
[Python] 34. Test (0) | 2022.06.17 |
[Python] 34. 클래스에서 사용되는 특별한 함수들, 모듈, 정규식, 파일 읽고 쓰기 (0) | 2022.06.17 |
[Python] 33. Test 답 (0) | 2022.06.16 |