원하는대로 작업순서 바꾸기 연습문제

2023. 2. 28. 10:18Python/실전 예제로 배우는 파이썬 프로그래밍

[문제1] 조건문을 이용한 '짐의 무게 계산하기' A형

항공사에서는 짐을 부칠 때, 10kg 이상이면 수수료 10,000원을 내야한다. 만약 10kg 미만이면 수수료는 없다. 사용자의 짐의 무게를 키보드로 입력 받아서 사용자가 지불하여야 할 금액을 계산하는 프로그램을 작성하시오.

<출력 결과 예시>

짐의 무게는 얼마입니까? 8
수수료는 없습니다.

짐의 무게는 얼마입니까? 15
수수료는 10,000원 입니다.
a = int(input('짐의 무게는 얼마입니까? '))

if a >= 10:
	print('수수료는 ', format(10000, '3,d') + '원 입니다.')
else:
	print('수수료는 없습니다.')
    
짐의 무게는 얼마입니까? 10
수수료는  10,000원 입니다.

[문제1] 조건문을 이용한 '짐의 무게 계산하기' B

항공사에서는 짐을 부칠 때, 10kg 이상이면 수수료를 내야한다. 수수료는 10의 배수 단위로 10,000원씩 증가한다. 만약 10kg 미만이면 수수료는 없다. 사용자의 짐의 무게를 키보드로 입력받고, 사용자가 지불하여야 할 금액을 계산하는 프로그램을 작성하시오.

<출력 결과 예시>

짐의 무게는 얼마입니까? 8
수수료는 없습니다.

짐의 무게는 얼마입니까? 15
수수료는 10,000원 입니다.

짐의 무게는 얼마입니까? 21
수수료는 20,000원 입니다.
a = int(input('짐의 무게는 얼마입니까? '))

if a >= 10:
    price = (a // 10) * 10000
    print('수수료는 ' + format(price, '3,d') + '입니다')
else:
    print('수수료는 없습니다.')

짐의 무게는 얼마입니까? 31
수수료는 30,000입니다

[문제2] while 반복문을 이용한 '숫자 맞추기 게임'

컴퓨터에 의해서 1~10 사이의 난수가 발생될 때, 사용자가 예상되는 숫자를 키보드를 입력한 경우 일치하면 '~~성공~~' 메시지를 출력하고, 반복을 탈출한다. 만약 사용자가 입력한 수가 난수보다 더 크면 '더 작은 수 입력' 메시지를 출력하고, 반복을 계속한다. 또한 사용자가 입력한 수가 난수보다 작으면 '더 큰 수 입력' 메시지를 출력하고, 반복을 계속한다. 위 내용이 실행될 수 있도록 프로그램의 빈 칸을 채우시오.

import random

print('>>숫자 맞추기 게임<< ')
com = random.randint(1, 10) # 1~10

while True :
    my = int(input('예상 숫자를 입력하시오 : '))    # 숫자 입력
    if my == com :
        print('~~성공~~')
        break
    elif my > com :
        print('더 작은 수를 생각하시오.')
    elif my < com :
        print('더 큰 수를 생각하시오.')
        
>>숫자 맞추기 게임<< 
예상 숫자를 입력하시오 : 9
더 작은 수를 생각하시오.
예상 숫자를 입력하시오 : 4
더 큰 수를 생각하시오.
예상 숫자를 입력하시오 : 6
더 큰 수를 생각하시오.
예상 숫자를 입력하시오 : 7
더 큰 수를 생각하시오.
예상 숫자를 입력하시오 : 8
~~성공~~

[문제3] for 반복문을 이용한 '수열 출력하기'

1~100 사이에서 3의 배수이면서 2의 배수가 아닌 수를 한 줄에 출력하고, 누적합을 출력 하시오.

<출력 결과>

수열 = 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87 93 99
누적합 = 867
tot = 0
print('수열 =', end=' ')

for i in range(1, 101):
    if i % 3 == 0 and i % 2 == 1:
        print(i, end=' ')
        tot += i

print(' \n누적합 = %d' % tot)

수열 = 3 9 15 21 27 33 39 45 51 57 63 69 75 81 87 93 99  
누적합 = 867

[문제4] 중첩 반복문을 이용한 '단어 카운트하기(word count)'

다음과 같은 multiline의 문자열 객체를 이용하여 단어를 추출하고, 단어의 개수를 출력하시오.

multiline="""안녕하세요. 파이썬 세계로 오신걸
환영합니다.
파이썬은 비단뱀 처럼 매력적인 언어입니다."""
<출력 결과>

안녕하세요.
파이썬
세계로
오신걸
환영합니다.
파이썬은
비단뱀
처럼
매력적인
언어입니다.
단어 개수 : 10
multiline = """안녕하세요. Python 세계로 오신걸 환영합니다."""

# 공백 문자를 기준으로 단어수 카운터
cnt = 0
doc = []	# 빈 list : 줄 단위 저장
word = []	# 빈 list : 단어 저장

for line in multiline.split("\n"):
	doc.append(line)	# 줄 단위 문장 추가
    for w in line.split(" "):	# 공백으로 분리
    	word.append(w)	# 단어 추가
        print(w)
        cnt += 1

# 결과 출력
print('단어 수 :', cnt)	# 단어수 출력
print(doc)	# 줄 단위 문장 출력
print(word)	# 줄 단위 단어 출력

안녕하세요.
Python
세계로
오신걸
환영합니다.
단어 수 : 5
['안녕하세요. Python 세계로 오신걸 환영합니다.']
['안녕하세요.', 'Python', '세계로', '오신걸', '환영합니다.']

'Python > 실전 예제로 배우는 파이썬 프로그래밍' 카테고리의 다른 글

비순서 자료구조(None-Sequence Data Structure)  (0) 2023.03.02
순서 자료구조  (0) 2023.03.01
반복문  (0) 2023.02.27
조건문  (0) 2023.02.26
파이썬 기본 도구 익히기 연습문제  (0) 2023.02.25