728x90
반응형
(문제)
사용자로부터 음식에 대한 투표 수를 입력 받고 그 비율을 출력하는 코드를 작성하세요.
요구사항은
• 사용자로부터 세가지 음식에 대한 투표 수를 입력 받습니다.
• 투표 수는 정수 형태로 입력하고,이외의 경우는 고려하지 않습니다.
• 음식 이름,투표 수,투표비율을 출력하고 투표 비율은 소수점 둘째자리까지 출력합니다.
• 출력 시 각 단어 및 길이에 유의하여 출력합니다.(메뉴 이름 및 투표수는 할당된 칸 이상의 글자를 입력하지 않습니다.)
• 이 외 명시되지 않은 내용은 실행 예시와 동일하게 작성합니다.
요구 조건 실행 예시 * 진한부분 사용자의 입력을, 그 이외 부분은 출력을 나타냅니다.
Vote for TTEOKBOKKI: 55
Vote for CHICKEN: 125
Vote for NOODLE: 20
MENU VOTE RATIO
TTEOKBOKKI 55 27.50
CHICKEN 125 62.50
NOODLE 20 10.00
12칸 6칸 8칸
(방법)
menu = ['TTEOKBOKKI','CHICKEN','NOODLE']
vote = [0 for _ in range(len(menu))] # menu가 3개 이니 [0,0,0] 이 만들어짐
for i in range(len(vote)):
vote[i] = int(input(f'Vote for {menu[i]}: ')) # 입력 받기
v_sum = sum(vote) # 전체 합계
result = [] # 비율 저장 리스트 변수
for i in range(len(vote)):
r = vote[i] / v_sum * 100 # 비율 계산
result.append(r) # 결과 리스트에 추가
for i in range(len(result)):
print('{0:<12} {1:>6} {2:>8}'.format(menu[i], vote[i], round(result[i],2)))
더 쉬운 코드.
v1 = int(input('Vote for TTEOKBOKKI: ')) # 입력 받기
v2 = int(input('Vote for CHICKEN: ')) # 입력 받기
v3 = int(input('Vote for NOODLE: ')) # 입력 받기
v_sum = v1 + v2 + v3 # 전체 합계
r1 = v1 / v_sum * 100 # 비율 계산
r2 = v2 / v_sum * 100 # 비율 계산
r3 = v3 / v_sum * 100 # 비율 계산
print('{0:<12} {1:>6} {2:>8}'.format('TTEOKBOKKI', v1, round(r1,2)))
print('{0:<12} {1:>6} {2:>8}'.format('CHICKEN', v2, round(r2,2)))
print('{0:<12} {1:>6} {2:>8}'.format('NOODLE', v3, round(r3,2)))
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : -100에서 100 사이의 수 20를 랜덤생성해서 리스트 만들기 (0) | 2022.12.23 |
---|---|
[파이썬] 문제 : 일단위, 초단위 데이터 처리 (0) | 2022.12.23 |
[파이썬] 문제 : if 조건문 사용해서 변수값을 줄어들게 하는 방법 (0) | 2022.12.23 |
[파이썬] 문제 : 두 정수를 입력 받고 두 정수의 배수관계를 출력 (1) | 2022.12.23 |
[파이썬] 문제 : 구매하려는 것을 질문하고 구매하기 (0) | 2022.12.23 |
댓글