새소식

인기 검색어

개인공부/Python

python 심사문제 UNIT(13 ~ 21)

  • -

13.7 심사 문제 : 온라인 할인 쿠폰 시스템 만들기

 

문제 : 표준 입력으로 가격(정수)과 쿠폰 이름이 각 줄에 입력됩니다. Cash3000 쿠폰은 3,000원, Cash5000 쿠폰은 5,000원을 할인합니다. 쿠폰에 따라 할인된 가격을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).

 

정답 : 

mn = int(input())
cp = input()
if cp == 'Cash3000':
    mn -= 3000
if cp == 'Cash5000':
    mn -= 5000
print(mn)

 

 

 

14.7 심사문제 : 합격 여부 판단하기

 

문제 :표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다. 여기서 네 과목의 평균 점수가 80점 이상일 때 합격이라고 정했습니다. 평균 점수에 따라'합격', '불합격'을'합격','불합격'을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 단, 점수는 0점부터 100점까지만 입력받을 수 있으며 범위를 벗어났다면'잘못된 점수'를 출력하고 합격, 불합격 여부는 출력하지 않아야 합니다.

 

정답 : 

kr, en, mat, sc = map(int, input().split())
if 0 <= kr <= 100 and 0 <= en <= 100 and 0 <= mat <= 100 and 0 <= sc <= 100:
    if (kr + en + mat + sc) / 4 >= 80:
        print('합격')
    else:
        print('불합격')
else:
    print('잘못된 점수')

 

 

 

15.4 심사문제 : 교통카드시스템 만들기

 

문제 : 표준 입력으로 나이(만 나이)가 입력됩니다(입력 값은 7 이상 입력됨). 교통카드시스템에서 시내버스 요금은 다음과 같으며 각 나이에 맞게 요금을 차감한 뒤 잔액이 출력되게 만드세요(if, elif 사용). 현재 교통카드에는 9,000원이 들어있습니다.

 

정답 : 

age = int(input())
balance = 9000
if 7 <= age <= 12:
    balance -= 650
elif 13 <= age <= 18:
    balance -= 1050
elif age >= 19:
    balance -= 1250

 

 

 

16.6 심사문제 : 구구단 출력하기

 

문제 :표준 입력으로 정수가 입력됩니다. 입력된 정수의 구구단을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 출력 형식은 숫자숫자 * 숫자 = 숫자처럼 만들고 숫자와*,=사이는 공백을 한 칸 띄웁니다.

정답 : 

 

 

value = int(input())
for i in range(1, 10):
    print(value, '*', i, '=', value * i, sep=' ')

 

 

 

 

17.6 심사 문제 : 교통카드 잔액 출력하기

 

문제 : 표준 입력으로 금액(정수)이 입력됩니다. 1회당 요금은 1,350원이고, 교통카드를 사용했을 때마다의 잔액을 각 줄에 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 단, 최초 금액은 출력하지 않아야 합니다. 그리고 잔액은 음수가 될 수 없으며 잔액이 부족하면 출력을 끝냅니다.

 

정답 :

mny = int(input())
while mny >= 1350:
    mny -= 1350
    print('남은 잔액 : ',mny)

 

 

 

18.6 심사문제 : 두 수 사이의 숫자 중 3으로 끝나지 않는 숫자 출력하기

 

문제 : 표준 입력으로 정수 두 개가 입력됩니다(첫 번째 입력 값의 범위는 1~200, 두 번째 입력 값의 범위는 10~200이며 첫 번째 입력 값은 두 번째 입력 값보다 항상 작습니다). 다음 소스 코드를 완성하여 첫 번째 정수와 두 번째 정수 사이의 숫자 중 3으로 끝나지 않는 숫자가 출력되게 만드세요. 정답에 코드를 작성할 때는 while True:에 맞춰서 들여 쓰기를 해주세요.

 

정답 : 

start, stop = map(int, input().split())

i = start

while True:
    if i % 10 == 3:
        i += 1
        continue
    if i > stop:
        break

    print(i, end=' ')
    i += 1

 

 

 

19.6 심사문제 : 산 모양으로 별 출력하기

 

문제 : 표준 입력으로 삼각형의 높이가 입력됩니다. 입력된 높이만큼 산 모양으로 별을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 이때 출력 결과는 예제와 정확히 일치해야 합니다. 모양이 같더라도 공백이나 빈 줄이 더 들어가면 틀린 것으로 처리됩니다.

 

정답 :

height = int(input())

for i in range(height):

    for j in range(height * 2 - 1):

        if j - i <= height - 1 <= j + i:
            print('*', end='')

        else:
            print(' ', end='')

    print()

 

 

 

20.8 심사문제 : 5와 7의 배수, 공배수 처리하기

 

문제 : 표준 입력으로 정수 두 개가 입력됩니다(첫 번째 입력 값의 범위는 1~1000, 두 번째 입력 값의 범위는 10~1000이며 첫 번째 입력 값은 두 번째 입력 값보다 항상 작습니다). 첫 번째 정수부터 두 번째 정수까지 숫자를 출력하면서 5의 배수일 때는 'Fizz', 7의 배수일 때는 'Buzz', 5와 7의 공배수일 때는 'FizzBuzz'를 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).

 

정답 :

start, stop = map(int, input().split())
for i in range(start, stop + 1):
    if i % 5 == 0 and i % 7 == 0:
        print('FizzBuzz')
    elif i % 5 == 0:
        print('Fizz')
    elif i % 7 == 0:
        print('Buzz')
    else:
        print(i)

 

 

 

9. 21.6 심사문제 : 별 그리기

 

문제 : 표준 입력으로 꼭지점 개수(정수)와 선의 길이(정수)가 입력됩니다(꼭짓점 개수의 입력 범위는 5~10, 선의 길이 입력 범위는 50~150입니다). 다음 소스 코드를 완성하여 꼭짓점 개수와 선의 길이에 맞는 별이 그려지게 만드세요. 별을 그릴 때는 현재 위치부터 오른쪽으로 이동해서 시작해야 하며 시계 방향으로 그려야 합니다.

 

정답 :

import turtle as t

n, line = map(int, input().split())
t.shape('turtle')
t.speed('fastest')

for i in range(n):
    t.forward(line)
    t.right(360 / n * 2)
    t.forward(line)
    t.left(360 / n)

'개인공부 > Python' 카테고리의 다른 글

리스트와 튜플 응용하기  (0) 2022.07.28
python 심사문제 UNIT(22 ~ 24)  (0) 2022.07.27
while 반복문  (0) 2022.07.26
for 반복문  (0) 2022.07.26
딕셔너리 사용하기  (0) 2022.07.25
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.