#1
[ 문제1 ] - 빈칸채우기 |
두 숫자를 더한 값을 구하려 합니다.
표준 입력으로 숫자 두 개를 입력받아, 두 수의 합을 출력하도록 코드를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
##### 입력 설명
표준 입력으로 숫자 두 개가 주어집니다.
* 두 수는 1 이상 100 이하인 자연수입니다.
##### 출력 설명
두 수의 합을 출력해주세요.
##### 입출력 예 1 입력 5 3 출력 8 설명 5와 3을 더하면 8이므로 8을 출력합니다. |
##### 입출력 예 2 입력 1 4 출력 5 설명 1과 4를 더하면 5이므로 5를 출력합니다. |
<풀이>
하나씩 받아서 연산을 하면, 이렇게 할 수 있다.
a=int(input("숫자를 입력하세요:"))
b=int(input("숫자를 입력하세요:"))
print(a+b)
그런데, 두 숫자를 한번의 입력으로 받는다면, split() 내장함수를 써야 한다.
a,b=input("두 숫자를 입력하세요:").split()
print(int(a)+int(b)
split()은 "쪼개다"
대신에 이렇게 받았을 때는 a,b변수에 str문자로 입력이 되므로, 연산할때 int() 정수로 형변환을 해줘야 한다.
str 은 string(문자열)
int 는 integer(정수)
-----------------------------------------------------------------------------------------
#2
[ 문제2 ] |
두 문자열 중 더 긴 문자열을 찾고자 합니다.
표준 입력으로 문자열 두 개를 입력받아, 두 문자열 중 더 긴 문자열을 출력해주세요.
##### 입력 설명
표준 입력으로 문자열 두 개가 주어집니다.
* 두 문자열의 길이는 1 이상 100 이하입니다.
* 두 문자열의 길이가 같은 경우는 없습니다.
##### 출력 설명
두 문자열 중 더 긴 문자열을 출력해주세요.
##### 입출력 예 입력 "HelloWorld" "Programmingisfun" 출력 "Programmingisfun" |
설명
첫 번째 입력받은 문자열의 길이는 10, 두 번째 문자열의 길이는 16입니다.
두 번째 문자열의 길이가 더 길므로 "Programmingisfun"을 출력합니다.
<풀이>
여기서 사용해야하는 내장함수는 len() - 문자열 길이 출력 함수
length (길이) long(길다)
height (높이) high(높다)
width (너비) wide(넓다)
len() 함수는 length에서 앞 세글자만 따서 len이다.
a= '감자'
print(len(a))
>> 2
if문을 결합해서 문자열이 긴 것을 찾아내면
a,b=input("두 단어를 입력하세요:").split()
if len(a)>len(b):
print(a)
else:
print(b)
#3
[ 문제3 ] |
별("*")로 밑변과 높이가 N인 직각삼각형을 거꾸로 출력하려고 합니다.
예를 들어, N이 5일 때 다음과 같이 출력합니다.
*****
****
***
**
*
표준 입력으로 자연수 N을 입력받아 밑변과 높이가 N인 직각삼각형을 거꾸로 출력해주세요.
##### 입력 설명
표준 입력으로 자연수 N이 주어집니다.
* N은 1 이상 100 이하입니다.
##### 출력 설명
별로 밑변과 높이가 N인 직각삼각형을 거꾸로 출력해주세요.
##### 입출력 예 입력 5 출력 ***** **** *** ** * |
<풀이>
int일때 연산은
3*5 >> 15
str일때 연산은
"3"*5 >> "33333"
별이 n개 만큼 찍히려면 (연산을 사용하여 출력)
n=int(input("별을 찍을 개수를 입력하세요:"))
print(n*"*")
별이 n개 줄로 찍히려면 (반복문을 사용하여 출력)
n=int(input("별을 찍을 개수를 입력하세요:"))
for i in range(n):
print("■")
>>
■
■
■
■
■
삼각형 모양으로 모양이 찍히려면 (반복문을 i를 사용하여 출력)
for i in range(0,5):
print(i*"■")
>>
■
■■
■■■
■■■■
엇!, 0,1,2,3,4까지만 찍히네요... 1,2,3,4,5로 찍히게 하려면 어떻게 해야 할까요?
for i in range(1,n+1):
print(i*"■")
>>
■
■■
■■■
■■■■
■■■■■
자! 거의 다 왔습니다. 1,2,3,4,5로 찍혀 있는 걸 5,4,3,2,1로 만들려면 어떻게 해야할까요?
for i in range(5,0,-1):
print(i*"■")
>>
■■■■■
■■■■
■■■
■■
■
마지막이네요! n을 입력받아, 가로/세로 n인 역 직각삼각형을 찍어보세요!
n=int(input('숫자를 입력하세요:'))
for i in range(n,0,-1):
print(i*"*")
정답입니다! 짝짝짝 ^0^/
'파이썬 수업 > 파이썬 기출문제 풀이' 카테고리의 다른 글
[파이썬] COSpro 3급 기출문제 풀이 2회-2 (6~10번 문제) (0) | 2024.01.03 |
---|---|
[파이썬] COSpro 3급 기출문제 풀이 2회-1 (1~5번 문제) (0) | 2023.12.09 |
[파이썬] COSpro 3급 기출문제 풀이 2 (1회차, 4~7번문제) (0) | 2023.11.18 |
파이썬 입력 값 다양하게 받기 (0) | 2023.04.22 |
1291 정올: 구구단 /파이썬3 (0) | 2023.03.24 |
Comment