제주코딩베이스캠프 Python 1~20제

이하연·2020년 7월 26일
0
post-thumbnail

문제1 : 리스트의 삭제
다음 리스트에서 400,500를 삭제하는 code를 입력하세요

nums = [100,200,300,400,500]
  1. nums = [100,200,300,400,500]
    del[3]
    del[3]
    print(nums)

  2. nums = [100,200,300,400,500]
    nums = nums[:3]
    print(nums)


문제2 : 리스트의 내장함수

l = [200,100,300]
&
print(l)

& 부분에 리스트 내장함수를 insert를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요
출력 : [200,100,10000,300]

l = [200,100,300]
l.insert(2, 10000)
print(l)


문제3 : 변수의 타입
다음 출력 값은?

l = [100,200,300]
print(type(l))

class 'list'


문제 4 : 다음 변수 a를 print(type(a))로 넣었을 때 출력될 값과의 연결된 결과로 틀린 것은?
① 입력 : a = 1 출력 : class 'int'
② 입력 : a = 2.22 출력 : class 'float'
③ 입력 : a = 'p' 출력 : class 'char'
④ 입력 : a = [1,2,3] 출력 : class 'list'

3번 class 'string'


문제 5 : for문 계산
다음 코드의 출력 값으로 알맞은 것은?

a = 10
b = 2
for i in range(1,5,2):
	a+=i
print(a+b)

16

풀이) range(start,stop,범위)
start ~ stop-1까지


문제 6 : false
다음은 파이썬 문법 중에서 false로 취급하는 것들 입니다. 아닌 것(true)을 찾아주세요
① none
② 1
③ ""
④ 0
⑤ bool(0)

2번

참고)
"" 와 '' 는 false " "와 ' '는 true
0이외의 다른 숫자는 모두 true 이다.


문제 7 : 변수명
다음 중 변수명으로 사용할 수 없는 것 2개를 고르시오

① age
② a
③ as 
④ _age
⑤ 1age

3번과 5번

풀이) as는 예약어 / 변수명 앞에 숫자가 있으면 안됨


문제8 : 딕셔너리 키 이름 중복
출력값을 입력하시오(출력값은 공백을 넣지 않습니다.)

d = {'height':180, 'weight':78, 'weight':84,'temparture':36, 'eyesight':1}
print(d['weight'])

84

풀이) 만약 딕셔너리 키 이름이 중복되었을 경우엔 가장 마지막에 사용한 키가 출력됨


문제 9 : sep과 end를 활용한 출력방법
다음 소스 코드를 완성하여 날짜와 시간을 출력하시오

year = '2019'
month = '04'
day = '26'
hour = '11'
minute = '34'
second = '27'
print(year,month, day,)
print(hour, minute, second ,)
출력 : 2019/04/26 11:34:27

➊ sep="/", end=" "
➋ sep=":"


문제 10 : 별 찍기
@입출력 예시@
입력

5

출력

    *
   ***
  *****
 *******
*********

답1.

n=5
for i in range(1,6):
	print(' '*(n-i) + '*'*(2*i-1))

답2.

user_input = int(input())
for i in range(1,user_input+1):
	print(' '*(user_input-i) + '*'*(2*i-1))

풀이)
공백 별갯수
4 1
3 3
2 5
1 7
0 9

공백 n - 1 - i
별갯수는 홀수 2n-1


문제11 : for를 이용한 기본 활용
1부터 100까지 모두 더하는 Code를 & 부분에 완성하세요 for를 사용해야 합니다.

s = 0
&
print(s)

답1.

s = 0
for i in ragne(1,101)
	s+=i
print(s)

답2.

s = 0
for i in ragne(101)
	s+=i
print(s)

range와 list 입출력 겨로가
In : range(10)
Out : range(0,10)

IN : list(range(10))
Out : [0,1,2,3,4,5,6,7,8,9]


문제12 : 게임 캐릭터 클래스 만들기
다음 소스코드에서 클래스를 작성하여 게임 캐릭터의 능력치와 '파이어볼'이 출려되게 만드시오
주어진 소스 코드를 수정해선 안됩니다.

<여기에 class를 작성하시오>
x = Wizart(health = 545, mana = 210, armor = 10)
print(x.health , x.mana, x.armor)
x.attack()

출력예시

545 210 10
파이어볼
class Wizart:
    def __init__(self,health,mana,armor):
        self.health = health
        self.mana = mana
        self.armor = armor
    def attack(self):
        print('파이어볼')

문제13 : 몇 번째 행성인가요?
우리 태양계를 이루고 있는 행성은 수성,금성,지구,화성,목성,토성,천왕성,해왕성으로 총 8개 입니다.
저희는 우리 태양계의 n번째 행성이 무엇인지 알고 싶습니다.
입력으로 행성의 순서를 나타내는 숫자 n이 입력됩니다. 예를 들어 수성은 첫번째 행성입니다.

1

출력으로 그 순서에 해당하는 행성의 이름을 출력해 주세요

수성
user_input = int(input())
l = ['수성','금성','지구','화성','목성','토성','천왕성','해왕성']
print(l[user_input-1])

문제14 : 3의 배수인가요?
입력으로 랜덤한 숫자 n이 주어집니다.
만약 그 수가 3의 배수라면 '짝'이라는 글자를 , 3의 배수가 아니라면 n을 그대로 출력해 주세요
입력

3

출력

입력

2

출력

2
user_input = int(input())
if user_input%3==0 :
	print('짝')
else:
	print(user_input)

문제15 : 자기소개
입력으로 ㅇㅇㅇ이라는 이름이 주어지면

안녕하세요 저는 ㅇㅇㅇ입니다.

라고 출력하게 만들어주세요
입력

이하연

출력

안녕하세요 저는 이하연입니다.
user_input = input()
print("안녕하세요 저는 "+ user_input + "입니다.")

문제16 : 로꾸거
문장이 입력되면 거꾸로 출력하는 프로그램을 만들어 봅시다.
입력

거꾸로

출력

로꾸거
user_input = input()
print(user_input[::-1])

문제17 : 놀이기구 키 제한
입력으로 키가 주어지고 키가 150이 넘으면 YES를 틀리면 NO를 출력하는 프로그램을 작성하세요
입력

190

출력

YES

입력

132

출력

NO
user_input = int(input())
if user_input >=150 :
	print("YES")
else :
	print("NO")

문제18 : 평균 점수
공백으로 구분하여 세 과목의 점수가 주어지면 전체 평균 점수를 구하는 프로그램 작성하라
단, 소숫점 자리는 모두 버립니다.
입력

20 30 40

출력

30

문제1.

user_input = input()
l = user_input.split(' ')
changel = []
for i in l:
	changel.append(int(i))
print(sum(changel)//3)

문제2.

user_input = map(int, input().split(' '))
print(sum(user_input)//3)

참고)
이때 // 이면 정수형으로 반환하고
만약 / 이면 float형으로 반환함


문제19 : 제곱을 구하자
공백으로 구분하여 두 숫자 a와 b가 주어지면 a의 b승을 구하는 프로그램을 작성하세요
입력

3 2

출력

9

문제1.

user_input = input()
l = user_input.split(' ')
changel = []
for i in l:
	changel.append(int(i))
print(changel[0]**changel[1])

문제2.

a, b = map(int, input().split(' '))
print(a**b)

문제20 : 몫과 나머지
공백으로 구분하여 두 숫자가 주어집니다.
첫번째 숫자로 두번째 숫자를 나누었을 때 그 몫과 나머지를 공백으로 구분하여 출력하세요
입력

10 2

출력

5 0 

내 풀이.

a, b =map(int,input().split(' '))
A = a//b
B = a%b
print(A,end=' ')
print(B)

선생님 풀이.

user_input = input()
l = [int(i) for i in user_input.split(' ')]
print(l[0]//l[1], l[0]%l[1])

0개의 댓글