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)