답은 사람들마다 다를 수 있고 내가 배운 선에서 최대한 열심히 해봤다.
문제 1 : 정수 3개를 입력 받아 가장 큰 정수를 출력하시오 - max()함수도 사용 가능
답 1 :
int1 = int(input("첫번째 정수를 입력하시오 : "))
int2 = int(input("두번째 정수를 입력하시오 : "))
int3 = int(input("세번째 정수를 입력하시오 : "))
print(f'가장 큰 정수는 {max(int1, int2, int3)} 입니다')
실행 결과 :
문제 2 : 고명이의 간식을 주문하려고 한다. S, A, B 등급 별로 S등급은 무료, A등급은 2천원, B등급은 3천원의 배송비가 붙는다. 간식 값이 25,000원일 경우, 주문자에게 등급을 입력받아 총 결제 금액이 얼마인지 구하는 프로그램을 만드시오.
답 2 :
grade = input("주문자의 등급을 입력하시오(대문자) : ")
fee = 0
if grade == "S":
fee = 0
elif grade == "A":
fee = 2000
elif grade == "B":
fee = 3000
else:
print("등급을 잘못입력하셨습니다.")
print(f'총 결제 금액은 {25000+fee} 입니다.')
실행 결과 :
문제 3 : 사용자에게 단을 입력받아 해당하는 구구단을 while문을 사용해 출력하시오.
답 3 :
dan = int(input("원하는 구구단의 단을 입력하시오 : "))
i = 1
while i <= 9 :
print(f' {dan} X {i} = {dan*i}')
i += 1
실행 결과 :
문제 4 : numbers = [50, 21, 4, 689, 2, 103, 90, 273, 79, 36]이 있을 때 if 문을 사용해 50 이상 이면서 홀수인 숫자를 출력하시오.
답 4 :
numbers = [50, 21, 4, 689, 2, 103, 90, 273, 79, 36]
for i in numbers :
if (i >= 50 and i%2 == 1) :
print(i)
실행 결과 :
문제 5 : 입력받은 숫자만큼 계단식으로 별이 하나씩 증가하게 출력하시오.
답 5 :
star = int(input("정수를 입력하시오 : "))
for i in range (1, star+1) :
for j in range (i) :
print('*', end='')
print()
실행 결과 :
문제 6 : while문을 이용해 100이하의 자연수 중 22의 배수를 한줄로 출력하시오.
답 6 :
i = 0
while i <= 100 :
if i % 22 == 0 :
print(i, end=' ')
i +=1
실행 결과 :
문제 7 : 입력받은 숫자만큼 계단식으로 별이 하나씩 감소하게 출력하시오.
답 7 :
star = int(input("정수를 입력하시오 : "))
for i in range (star, 0, -1) :
for j in range (i) :
print('*', end='')
print()
실행 결과 :
문제 8 : 숫자 5까지 출력하되 별을 계단식으로 출력하시오.
답 8 :
star = 5
for i in range (1, star+1) :
for j in range(1, i+1) :
print(j, end='')
for j in range(5, i, -1) :
print('*', end='')
print()
실행 결과 :
마지막 문제에서 살짝 헷갈렸지만 숫자먼저 출력한 다음에 *을 붙인다고 생각하니 조금 쉽게 풀 수 있었던거 같다.