파이썬

Solution/정보올림피아드

[정보올림피아드] 171 : 함수1 - 형성평가2

Language_Coder 171 : 함수1 - 형성평가2 JUNGOL www.jungol.co.kr 문제 1부터 전달받은 수까지의 합을 출력하는 함수를 작성하고 1000 이하의 자연수를 입력받아 작성한 함수로 전달하여 출력하는 프로그램을 작성하시오. 입력 예 100 출력 예 5050 문제 풀이 Python3 def sum(num): sum = 0 for i in range(num + 1): sum += i return sum num = int(input()) print(sum(num)) range(num)은 0부터 num - 1까지의 값을 반복하기 때문에 range(num + 1)로 하여 전달받은 마지막 값까지 더할 수 있도록 한다.

Programing Language/Python

[Python] 파이썬 함수의 디폴트 매개변수 (Default Arguments)

Default Arguments 파이썬에서는 함수 정의 시 매개변수에 디폴트 값을 지정한 뒤 디폴트 값이 지정된 부분의 매개변수를 생략하고 함수를 호출하면 디폴트 값이 매개변수로 들어가서 함수가 실행된다. myInfo() 함수의 세 번째 매개변수인 gender 매개변수에 'M'을 디폴트 값으로 주었다. 세 번째 매개변수 값을 안 주는 경우 자동으로 gender에는 'M'이 들어간다. 매개변수 값을 넣으면, 넣은 값으로 들어간다. 그래서 myInfo('홍길순', 30, 'F')에서는 gender 값이 'F'로 들어가서 여자입니다를 출력한다. 그러나 함수에서 default argument를 사용할 때, default argument 사용 후 non-default argument는 사용할 수 없다. man이라..

Programing Language/Python

[Python] for문과 iterable

for 파이썬의 for문에서는 else도 사용할 수 있다. for 변수 in iterable 객체: 수행할 문장 eles: for문 빠져나오기 직전에 수행 iterable 객체의 예로는 range(숫자), str, list, set, tuple, dict 등이 있다. for 변수 in range() 보통 파이썬에서 for문을 사용할 때 위와 같은 형태를 많이 본다. 위 같은 형태가 다른 언어에서 for (int i = 0; i < 3; i++) { .. } 형태인 것이다. 이 외에 다른 iterable 객체를 이용해 반복문을 돌릴 수 있다. for 변수 in 문자열 문자열 값에서 문자 하나하나씩 추출된다. for 변수 in list list 내 요소들이 하나씩 추출된다. for 변수 in dict dic..

Solution/정보올림피아드

[정보올림피아드] 140 : 반복제어문3 - 형성평가1

Language_Coder 140 : 반복제어문3 - 형성평가1 문제 정수 20 개를 입력받아서 그 합과 평균을 출력하되 0 이 입력되면 20개 입력이 끝나지 않았더라도 그 때까지 입력된 합과 평균을 출력하는 프로그램을 작성하시오. 평균은 소수부분은 버리고 정수만 출력한다.(0이 입력된 경우 0을 제외한 합과 평균을 구한다.) 입력 예 5 9 6 8 4 3 0 출력 예 35 5 문제 풀이 Python3 total = 0 count = 0 for i in map(int, input().split()): if not i: break # i 가 0 이면 for 종료 total += i count += 1 print(total, int(total/count)) 파이썬에서 0은 False로 취급한다. 따라서 no..

카테고리 없음

[정보올림피아드] 134 : 반복제어문2 - 형성평가5

Language_Coder 134 : 반복제어문2 - 형성평가5 문제 10개의 정수를 입력받아 입력받은 수들 중 짝수의 개수와 홀수의 개수를 각각 구하여 출력하는 프로그램을 작성하시오. 입력 예 10 20 30 55 66 77 88 99 100 15 출력 예 even : 6 odd : 4 문제 풀이 Python3 even = 0 # 짝수의 개수 odd = 0 # 홀수의 개수 for i in map(int, input().split()): if i % 2 == 0: even += 1 else: odd += 1 print("even :", even) print("odd :", odd)

Solution/정보올림피아드

[정보올림피아드] 133 : 반복제어문2 - 형성평가4

Language_Coder 133 : 반복제어문2 - 형성평가4 JUNGOL www.jungol.co.kr 문제 100 이하의 자연수 n을 입력받고 n개의 정수를 입력받아 평균을 출력하는 프로그램을 작성하시오. (평균은 반올림하여 소수 둘째자리까지 출력하도록 한다.) 입력 예 3 99 65 30 출력 예 64.67 문제 풀이 - Python3 n = int(input()) total = 0 cnt = 0 for i in map(int, input().split()): total += i cnt += 1 if cnt == n: break print("{:.2f}".format(total / n)) n을 입력받은 뒤, 이후 정수를 입력받을 때마다 카운트 값인 cnt 변수를 1씩 증가시킨다. cnt 값이 n과..

Solution/정보올림피아드

[정보올림피아드] 1303 : 숫자사각형1

Beginner_Coder 1303 : 숫자사각형1 JUNGOL www.jungol.co.kr 문제 사각형의 높이 n과 너비 m을 입력받은 후 n행 m열의 사각형 형태로 1부터 n*m번까지 숫자가 차례대로 출력되는 프로그램을 작성하시오. 숫자의 진행 순서는 처음에 맨 윗줄의 왼쪽에서 오른쪽으로 1부터 차례대로 너비 m만큼 출력한 후 다음 줄로 바꾸어서 다시 왼쪽에서 오른쪽으로 1씩 증가하면서 출력하는 방법으로 n번 줄까지 반복한다. 입력 형식 사각형의 높이n와 너비m(n과 m의 범위는 100 이하의 정수)이 주어진다. 출력 형식 위에서 형태의 직사각형을 입력에서 들어온 높이 n과 너비 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분한다. 입력 예 4 5 출력 예 1 2 3 4 5 6 7..

Solution/정보올림피아드

[정보올림피아드] 533 : 선택제어문 - 자가진단6

Language_Coder 533 : 선택제어문 - 자가진단6 JUNGOL www.jungol.co.kr 문제 남자는 'M' 여자는 'F'로 나타내기로 하고 18세 이상을 성인이라고 하자. 성별('M', 'F')과 나이를 입력받아 "MAN"(성인남자), "WOMAN"(성인여자), "BOY"(미성년남자), "GIRL"(미성년여자)을 구분하여 출력하는 프로그램을 작성하시오. 입력 예 F 15 출력 예 GIRL 문제 풀이 - Python3 gender, age = input().split() age = int(age) if gender == 'M': if age >= 18: print('MAN') else: print('BOY') else: if age >= 18: print('WOMAN') else: pri..

Solution/정보올림피아드

[정보올림피아드] 122 : 선택제어문 - 형성평가3

Language_Coder 122 : 선택제어문 - 형성평가3 JUNGOL www.jungol.co.kr 문제 년도를 입력받아 윤년(leap year)인지 평년(common year)인지 판단하는 프로그램을 작성하시오. 입력 예 2008 출력 예 leap year Hint! 400으로 나누어떨어지면 윤년이다. 또는 4로 나누어떨어지고 100으로 나누어떨어지지 않으면 윤년이다. 나머지는 모두 평년이다. 문제 풀이 - Python3 year = int(input()) if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: print('leap year') else: print('common year')

Programing Language/Python

[Python] Short-Circuit Evaluation (SCE)

SCE 논리 연산자 and, or 표현식과의 관계이다. 참, 거짓 판정에 이어 논리 연산자의 결과는 expresstion 값이 되는데, 이를 short-circuit evaluation(SCE) 혹은 lazy evaluation이라고 한다. or 왼쪽이 참인 경우 왼쪽 값 반환 왼쪽이 거짓인 경우 오른쪽 값 반환 and 왼쪽이 참인 경우 오른쪽 값 반환 왼쪽이 거짓인 경우 왼쪽 값 반환 bool 타입은 당연하게 Ture, False 값들이 나온다. bool 타입이 아닌 다른 타입의 값들을 비교해본다. 파이썬에서 0은 False이므로 0 or 100 결과 값은 or의 오른쪽 값인 100이 반환된다. 'hello'와 'python'은 빈 문자열이 아니므로 True이다. 따라서 'hello' or 'pytho..

Programing Language/Python

[Python] 비교 연산자 chaining (ex. False == True == False)

💭 비교 연산자와 논리 연산자 조건식에 사용 가능한 비교 연산자와 논리 연산자가 있다. 비교 연산자와 논리 연산자의 결과 값은 항상 True 아니면 False이다. 비교 연산자 > >= 참 ^ (xor) : eXclusive OR (XOR, 배타적 논리합) 같으면 거짓, 다르면 참 💭 비교 연산자 chaining 비교 연산자는 임의로 체이닝 된다. 파이썬에는 범위 조건을 표현할 때 a

Programing Language/Python

[Python] 대입과 얕은 복사(Shallow copy), 깊은 복사(Deep copy)

💭 대입 연산 (Assignment) 대입 연산은 객체 복사가 아니다. 따라서 지금부터 설명할 대입과 복사는 연관된 것이 아닌 별개이다. id() 함수는 변수의 주소 값을 반환한다. 대입 연산은 주소 값을 복사하여 대입하는 것이기 때문에 b의 주소도 a의 주소와 같은 것을 확인할 수 있다. 이후 a 값을 변경한 뒤에 b의 값도 변화하는지 확인해본다. a에 1을 더하였다. a와 b는 주소 값이 같았었지만 b 값은 변화되지 않았고, a의 주소가 바뀌었다. 이를 이해하려면 iterable과 immutable의 개념에 대해서 알아야 한다. 지금은 간단히 그림으로만 설명한다. int 타입은 immutable 한 타입이다. 따라서 값 별로 개개인의 메모리 공간을 하나 갖고 있는 것이다. 파이썬에서는 중복된 immu..

밈아
'파이썬' 태그의 글 목록 (2 Page)