[python] 나도코딩Quiz.2

박민주·2021년 6월 1일
0

파이썬

목록 보기
12/16
# QUiz) 표준 체중을 구하는 프로그램을 작성하시오

# * 표준 체중 : 각 개인의 키에 적당한 체중

# (성별에 따른 공식)
#  남자 : 키(m) x 키(m) x 22
#  여자 : 키(m) x 키(m) x 21

# 조건1 : 표준 체중은 별도의 함수 내에서 계산
#         * 함수명 : std_weight
#         * 전달값 : 키(height), 성별(gender)

# 조건2 : 표준 체중은 소수점 첫째자리까지 표시

# (출력 예제)
# 키 180cm 남자의 표준 체중은 71.3kg 입니다.

def std_weight(height, gender):
    if gender == "남":
        return height * height * 22
    elif gender == "여":
        return height * height * 21

height = 170
gender = "여"

# m -> cm 위해 나누기 100, round함수를 이용해 소수점 첫째 짜리까지 구현
weight = round(std_weight(height / 100, gender), 1)
print("키 {}cm {}의 표준 체중은 {}kg 입니다.".format(height, gender, weight))


# Quiz) 매주 1회 작성해야 하는 보고서가 있다.
# 보고서는 항상 아래와 같은 형태로 출력되어야 함.

# - X 주차 보고서 -
# 부서 :
# 이름 :
# 내용 :

# 1주차부터 30주차까지의 보고서 파일을 만드는 프로그램을 작성하시오.
# for문 사용

import pickle
for i in range(1,31): # 1부터 30까지
    with open(str(i) +" 주차.txt", "w", encoding="utf8") as report_file:
        report_file.write("- {0}주차 보고서 -".format(i))
        report_file.write("\n부서 :") # 줄바꿈
        report_file.write("\n이름 :")
        report_file.write("\n내용 :")
# while문 사용

import pickle
i = 0
while True:
    i += 1
    with open(str(i) + "주차.txt", "w", encoding="utf8") as report_file:
        report_file.write("- "+str(i)+" 주차 보고서 -"+"\n부서 :"+"\n이름 :"+"\n내용 :")
    if i == 30:
        break



# Quiz) 주어진 코드를 활용하여 고객 정보를 작성하시오.

# (출력 예제)
# 총 4명의 고객이 있습니다.
# amy 001 30살 여자 공무원
# john 002 20살 남자 대학생
# jason 003 67살 남자 자영업
# jessi 004 41살 여자 주부

# [주어진 코드]
class Customer:
    # 고객 초기화
    def __init__(self, name, number, age, gender, job):
        pass

    # 고객 정보 표시
    def show_customer(self):
        pass
# 나도코딩에서 알려준 해결법

class Customer:
    # 고객 초기화
    def __init__(self, name, number, age, gender, job):
        self.name = name
        self.number = number
        self.age = age
        self.gender = gender
        self.job = job

    # 고객 정보 표시
    def show_customer(self):
        print(self.name, self.number, self.age, self.gender, self.job)


customers = []
c1 = Customer("amy", "001", "30살", "여자", "공무원")
c2 = Customer("john", "002", "20살", "남자", "대학생")
c3 = Customer("jason", "003", "67살", "남자", "자영업")
c4 = Customer("jessi", "004", "41살", "여자", "주부")

customers.append(c1)
customers.append(c2)
customers.append(c3)
customers.append(c4)

print("총 {}명의 고객이 있습니다.".format(len(customers)))
for customer in customers:
    customer.show_customer()
# 함수쪽에 for문, append를 추가해놓고, 아래쪽에서 생성만해서 쓸 경우
class Customer:

    customers = []

    # 고객 초기화
    def __init__(self, name, number, age, gender, job):
        self.name = name
        self.number = number
        self.age = age
        self.gender = gender
        self.job = job
        self.customers.append(self)

    # 고객 정보 표시
    def show_customer(self):
        print("총 {0}명의 고객이 있습니다.".format(len(Customer.customers)))
        
        for customer in Customer.customers:
            print(customer.name, customer.number, customer.age, \
                customer.gender, customer.job)

       
c = Customer("amy", "001", "30살", "여자", "공무원")
c = Customer("john", "002", "20살", "남자", "대학생")
c = Customer("jason", "003", "67살", "남자", "자영업")
c = Customer("jessi", "004", "41살", "여자", "주부")

c.show_customer()

profile
개발공부

0개의 댓글