'''
#사이트별로 비밀번호를 만들어 주는 프로그램을 작성하시오.
예) http://naver.com
규칙1 : http:// 부분은 제외 -> naver.com
규칙2 : 처음 만나는 점(.) 이후 부분은 제외 -? naver
규칙3 : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 'e' 갯수 + "!"로 구성
예) 생성된 비밀번호: nav51!
'''
#url = "http://naver.com"
url = "http://daum.net"
a = url.split( "/")
b = a[2] # naver.com
c = b.split(".")
d = c[0] # naver
e = d[0:3] # 처음 세자리
f = len(d) #글자 갯수..(길이?)
g = d.count('e') # e 갯수
password =e + str(f) + str(g) + "!"
print("생성된 %s의 비밀번호 : %s" % (url, password))
========================================================================================
'''
당신은 Cocoa 서비스를 이용하는 택시 기사님입니다.
50명의 승객과 매칭 기회가 있을 때, 총 탑승 승객 수를 구하는 프로그램을 작성하시오.
조건1 : 승객별 운행 소요 시간은 5분 ~ 50분 사이의 난수로 정해집니다.
조건2 : 당신은 소요 시간 5분 ~ 15분 사이의 승객만 매칭해야 합니다.
(출력문 예제)
[O] 1번째 손님 (소요시간 : 15분)
[ ] 2번째 손님 (소요시간 : 50분)
[O] 3번째 손님 (소요시간 : 5분)
...
[ ] 50번째 손님 (소요시간 : 16분)
총 탑승 승객 : 2 분
'''
from random import *
cnt = 0
for sequence in range(1,49) :
take_time= randrange(5,51)
if (take_time >=5 and take_time<=15) :
print("[O] %d번째 손님 (소요시간 : %d분)" %(sequence, take_time))
cnt += 1
else :
print("[ ] %d번째 손님 (소요시간 : %d분)" %(sequence, take_time))
print("\n 총 탑승 승객 : ", cnt, "분")
***cnt는 해설 참고.
========================================================================================
'''
Quiz) 표준 체중을 구하는 프로그램을 작성하시오
* 표준 체중 : 각 개인의 키에 적당한 체중
(성별에 따른 공식)
남자 : 키(m) * 키(m) * 22
여자 : 키(m) * 키(m) * 21
조건1 : 표준 체중은 별도의 함수 내에서 계산
* 함수명 : std_weight
* 전달값 : 키(height), 성별(gender)
조건2 : 표준 체중은 소수점 둘째자리까지 표시
(출력 예제)
키 175cm 남자의 표준 체중은 67.38kg 입니다.
'''
def std_weight (height, gender) :
if gender == "남자" :
weight1 = (height/100) * (height/100) * 22
return round(weight1, 2)
elif gender == "여자" :
weight2 = (height/100) * (height/100) * 21
return round(weight2, 2)
height = input("당신의 키는 어떻게 되나요? : ")
gender = input("당신의 성별은 무엇인가요?(남자 혹은 여자로 대답해 주세요.) : ")
print( std_weight(int(height), gender) )
========================================================================================
'''
Quiz) 당신의 회사에서는 매주 1회 작성해야 하는 보고서가 있습니다.
보고서는 항상 아래와 같은 형태로 출력되어야 합니다.
- X 주차 주간보고 -
부서 :
이름 :
업무 요약 :
1주차부터 50주차까지의 보고서 파일을 만드는 프로그램을 작성하시오.
조건 : 파일명은 '1주차.txt', '2주차.txt', ... 와 같이 만듭니다.
그리고 각 파일에는 해당 주차에 해당하는 주간보고 내용이 포함됩니다.
(예 : 35주차.txt 파일 내용)
- 35 주차 주간보고 -
부서 :
이름 :
업무 요약 :
'''
week_num = range(1,51)
for file_name in week_num :
weekely_file =open("d:/"+ str(file_name) + "주차.txt", "w", encoding="utf8")
weekely_file.write("- " + str(file_name) + " 주차 주간보고 -\n")
weekely_file.write("부서 : \n")
weekely_file.write("이름 : \n")
weekely_file.write("업무 요약 : \n")
weekely_file.close()
========================================================================================
'''
Quiz) 주어진 코드를 활용하여 부동산 프로그램을 작성하시오.
(출력 예제)
총 3대의 매물이 있습니다.
강남 아파트 매매 10억 2010년
마포 오피스텔 전세 5억 2007년
송파 빌라 월세 500/50 2000년
class House:
# 매물 초기화 : 위치, 건물 종류, 매물 종류, 가격, 준공년도
def __init__(self, location, house_type, deal_type, price, completion_year):
pass
# 매물 정보 표시
def show_detail(self):
pass
'''
class House:
# 매물 초기화 : 위치, 건물 종류, 매물 종류, 가격, 준공년도
def __init__(self, location, house_type, deal_type, price, completion_year):
self.location = location
self.house_type = house_type
self.deal_type = deal_type
self.price = price
self.completion_year = completion_year
# 매물 정보 표시
def show_detail(self):
print( self.location, self.house_type, self.deal_type, self.price, self.completion_year )
houses = []
house1 = House("강남", "아파트", "매매", "10억", "2010년")
house2 = House("마포", "오피스텔", "전세", "5억", "2007년")
house3 = House("송파", "빌라", "월세", "500/50", "2000년")
houses.append(house1)
houses.append(house2)
houses.append(house3)
print("총 %d대의 매물이 있습니다." %len(houses))
for house in houses:
house.show_detail()
========================================================================================
class SoldOutError (Exception) :
def __init__(self) :
pass
chicken = 10 # 남은 치킨 수
waiting = 1 # 홀 안에는 현재 만석. 대기번호 1부터 시작
try :
while(True):
print("[남은 치킨 : %d]"%chicken)
order = int(input("치킨 몇 마리 주문하시겠습니까?"))
if order<1 :
raise ValueError
elif order > chicken: # 남은 치킨보다 주문량이 많을 때
print("재료가 부족합니다.")
else:
print("[대기번호 %d] %d마리 주문이 완료되었습니다."%(waiting, order))
waiting += 1 # 대기번호 증가
chicken -= order # 주문 수만큼 남은 치킨 감소
if chicken == 0 :
raise SoldOutError
break
except ValueError :
print("잘못된 값을 입력하였습니다.")
except SoldOutError :
print("재고가 소진되어 더 이상 주문을 받지 않습니다.")
========================================================================================
'''
Quiz) 프로젝트 내에 나만의 시그니처를 남기는 모듈을 만드시오
조건: 모듈 파일명은 byme.py 로 작성
(모듈 사용 예제)
import byme
byme.sign()
(출력 예제)
이 프로그램은 나무의 하루에 의해 만들어졌습니다.
주소: https://sorrel012.tistory.com/
이메일 : sorrel012@gmail.com
'''
def sign(): #byme 모듈
print("이 프로그램은 나무의 하루에 의해 만들어졌습니다.")
print("주소: https://sorrel012.tistory.com/")
print("이메일 : sorrel012@gmail.com")
import byme #만든 모듈 사용
byme.sign()
'파이썬(PYTHON) > 프로젝트' 카테고리의 다른 글
[파이썬(Python)] 전화번호부 관리2 (데이터베이스 이용) (0) | 2022.07.28 |
---|---|
[파이썬(Python)] 전화번호부 관리 (0) | 2022.07.23 |
[파이썬(Python)] 확장자별 폴더 정리 (0) | 2022.07.17 |
[파이썬(Python)] 계산기 (0) | 2022.07.10 |
[파이썬(Python)] 나이 계산 (0) | 2022.07.09 |