no image
[Python] 파이썬 for 문과 응용
목차 for 문 중접 리스트, 중첩 반복 확산 연산자 for 문 Python의 'for' 문은 시퀀스(예: 리스트, 튜플, 문자열 또는 기타 반복 가능한 객체)를 반복하는 데 사용됩니다. 'for' 루프는 시퀀스의 각 항목을 반복하고 각 항목에 대한 코드 블록을 실행합니다. Python에서 for 루프의 일반적인 구문은 다음과 같습니다. for variable in iterable: # Code to execute for each item in the iterable 여기서 변수는 iterable의 각 항목 값을 한 번에 하나씩 취하는 임시 변수입니다. iterable은 리스트, 튜플, 문자열 또는 기타 반복 가능한 유형과 같이 반복될 수 있는 객체입니다. 다음은 for 루프를 사용하여 숫자 리스트을 반..
2023.04.22
no image
[Python] 파이썬 list 함수와 다양한 활용법
목록 목록 선언 및 요소 액세스 index를 사용하여 요소에 접근하기 list를 사용해 요소 수정하기 리스트 내에 특정값 유무 확인 Python에서 list는 여러 값을 저장할 수 있는 순서가 지정된 모음입니다. 목록은 대괄호([])를 사용하여 생성되며 각 요소는 쉼표(,)로 구분됩니다. 목록은 다양한 데이터 유형을 저장할 수 있으며 중첩 목록도 지원할 수 있습니다. 이 때 요소란 대괄호 안에 있는 자료를 뜻합니다. 예를 들면 다음과 같습니다. [요소,요소,요소...] 목록 선언 및 요소 액세스 1. 목록 만들기 my_list = [1, 2, 3, 4, 5] 2. 목록의 요소에 액세스 목록의 요소에 액세스하려면 인덱싱을 사용할 수 있습니다. Python에서 인덱싱은 0부터 시작합니다. 따라서 첫 번째 요..
2023.04.22
no image
[Python] IF 함수를 논리적으로 False로 만들기
이전 포스팅에서 if문에 대해서 다뤘는데, 실수로 이 부분을 깜빡해 따로 작성하게 되었습니다. if 문은 조건이 논리적으로 True일 때 실행되는 코드 블록을 정의합니다. 일부 값은 논리적으로 False로 평가되므로 if 문이 실행되지 않습니다. Python에서 False로 평가되는 값은 다음과 같습니다: 1. `None`: Python에서는 None이 정의되지 않은 값을 나타내며, 논리적으로 False입니다. 2. 숫자 0: 정수 0과 실수 0.0은 논리적으로 False입니다. 3. 빈 문자열 `''`: 문자열이 비어 있으면 논리적으로 False입니다. 4. 빈 리스트 `[]`: 리스트가 비어 있으면 논리적으로 False입니다. 5. 빈 튜플 `()`: 튜플이 비어 있으면 논리적으로 False입니다. ..
2023.04.21
no image
[Python] if 함수와 응용
목록 if 함수 시간 표현 홀짝 구분 if 함수 `if` 문은 Python에서 조건부 실행을 수행하기 위해 사용되는 기본 제어 구조입니다. `if` 문은 주어진 조건이 참(`True`)인 경우에만 해당 블록의 코드를 실행합니다. 1. 기본 예시 age = 18 if age >= 18: print("You are an adult.") 이 예시에서 `age >= 18`이라는 조건이 참(`True`)이므로, `print("You are an adult.")` 구문이 실행됩니다. 2. 여러 조건 사용 `if` 문은 `elif`(else if의 줄임말)와 `else` 절과 함께 사용되어 다양한 경우를 처리할 수 있습니다. temperature = 25 if temperature = 0 and temperature..
2023.04.21
no image
[Python] 파이썬 부울(Boolean)이란?
Python에서 부울은 'True' 또는 'False'의 두 값 중 하나만 가질 수 있는 데이터 유형입니다. 부울은 주로 식이나 조건의 진리값을 나타내는 데 사용됩니다. 부울 대수학을 최초로 공식화한 영국의 수학자, 철학자, 논리학자인 George Boole의 이름을 따서 명명되었습니다. 부울 사용법 1. 부울 리터럴: 'True'와 'False'는 Python의 두 부울 리터럴입니다. 예약어이므로 대문자로 표기해야 합니다. 2. 비교 연산자: 비교 연산자(예: ==, !=, , =)는 비교가 참인지 또는 참인지 나타내는 부울 값을 반환합니다. x = 5 y = 10 print(x = 18: print("You are an adult.") else: print("You are not an adult.")..
2023.04.21
no image
[Python] 문자열 구성에 관한 명령어들(is00, find, in, spit, f-문자열)
목차 is00 find와 rfind in spit f-문자열 is00 1. isalnum() - 문자열의 모든 문자가 영숫자(문자 또는 숫자)인지 확인합니다. text1 = "Python2023" result1 = text1.isalnum() print(result1) # Output: True 2. isalpha() - 문자열의 모든 문자가 알파벳(문자)인지 확인합니다. text2 = "PythonProgramming" result2 = text2.isalpha() print(result2) # Output: True 3. isidentifier() - 문자열이 유효한 Python 식별자(변수 이름)인지 확인합니다. text3 = "variable_name" result3 = text3.isidenti..
2023.04.21
반응형

목차

  1. for 문
  2. 중접 리스트, 중첩 반복
  3. 확산 연산자

for 문

Python의 'for' 문은 시퀀스(예: 리스트, 튜플, 문자열 또는 기타 반복 가능한 객체)를 반복하는 데 사용됩니다. 'for' 루프는 시퀀스의 각 항목을 반복하고 각 항목에 대한 코드 블록을 실행합니다. Python에서 for 루프의 일반적인 구문은 다음과 같습니다.

for variable in iterable:
    # Code to execute for each item in the iterable


여기서 변수는 iterable의 각 항목 값을 한 번에 하나씩 취하는 임시 변수입니다. iterable은 리스트, 튜플, 문자열 또는 기타 반복 가능한 유형과 같이 반복될 수 있는 객체입니다.


다음은 for 루프를 사용하여 숫자 리스트을 반복하는 간단한 예입니다.

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    print(num)


이 루프는 리스트의 각 숫자를 한 번에 하나씩 인쇄하여 다음과 같은 결과를 출력합니다.

1
2
3
4
5


문자열을 반복하는 또 다른 예입니다.

greeting = "Hello, World!"

for char in greeting:
    print(char)


이 루프는 문자열의 각 문자를 새 줄에 인쇄합니다.


Python의 'for' 루프는 다목적이며 다양한 상황에서 반복 가능한 객체를 반복하고 시퀀스의 각 항목에 대한 작업을 수행하는 데 사용할 수 있습니다.


중접 리스트, 중첩 반복

Python의 중첩 리스트는 다른 리스트을 요소로 포함하는 리스트입니다. 이는 행렬, 테이블 또는 계층 구조와 같은 복잡한 데이터 구조를 구성하고 나타내는 데 유용할 수 있습니다.


다음은 행렬을 나타내는 중첩 리스트의 예입니다.

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

 

중첩 반복은 중첩 리스트과 같은 중첩 데이터 구조를 반복하는 데 사용되는 다른 루프 내의 루프입니다. Python에서는 중첩된 for 루프를 사용하여 중첩된 리스트의 각 요소를 반복할 수 있습니다.

다음은 위에 정의된 행렬을 반복하기 위해 중첩 반복을 사용하는 예입니다.

for row in matrix:
    for element in row:
        print(element, end=' ')
    print()  # Print a newline character after each row


그러면 다음이 출력됩니다.

1 2 3
4 5 6
7 8 9


위의 예에서 외부 루프는 행렬(리스트의 리스트)의 각 행을 반복하고 내부 루프는 해당 행 내의 각 요소를 반복합니다. print 기능은 행의 각 요소를 공백으로 구분하여 표시하는 데 사용됩니다. print 함수의 end=' ' 매개변수는 각 요소 뒤에 줄 바꿈 대신 공백이 인쇄되도록 하는 반면 내부 루프 외부의 print() 문은 각 행 뒤에 줄 바꿈 문자를 인쇄하는 데 사용됩니다.

중첩 리스트과 중첩 반복은 Python의 강력한 도구로, 복잡한 데이터 구조로 작업하고 효율적으로 작업을 수행할 수 있습니다.


확산 연산자

Python에는 JavaScript 또는 다른 언어에서 찾을 수 있는 특정 "확산 연산자"가 없습니다. 그러나 Python은 별표(*) 연산자를 사용하여 "언패킹"이라는 유사한 메커니즘을 제공합니다. 이 연산자는 iterable(예: 리스트, 튜플 또는 집합)에서 요소를 압축 해제하고 별도의 위치 인수로 함수에 전달하거나 새 리스트, 튜플 또는 집합으로 병합하는 데 사용할 수 있습니다.


다음은 Python에서 별표(*) 연산자를 사용하는 방법에 대한 몇 가지 예입니다.


1. 리스트에서 요소 압축 풀기:

def print_numbers(a, b, c):
    print(f'a: {a}, b: {b}, c: {c}')

numbers = [1, 2, 3]
print_numbers(*numbers)  # Output: a: 1, b: 2, c: 3

2. 여러 리스트을 새 리스트으로 병합:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
merged_list = [*list1, *list2]
print(merged_list)  # Output: [1, 2, 3, 4, 5, 6]


3. 튜플 또는 집합에서 요소 압축 풀기:

tuple1 = (1, 2, 3)
set1 = {4, 5, 6}
merged_list = [*tuple1, *set1]
print(merged_list)  # Output: [1, 2, 3, 4, 5, 6]


패킹 해제를 위해 별표(*) 연산자를 사용할 때 결과의 요소 순서는 원래 iterables의 순서에 따라 달라집니다.

Python의 별표(*) 연산자는 일부 다른 언어의 스프레드 연산자와 유사한 목적을 수행하지만 Python에서 효과적으로 사용하려면 구문과 동작의 차이점을 이해하는 것이 중요합니다.

반응형
반응형

목록

  1. 목록 선언 및 요소 액세스
  2. index를 사용하여 요소에 접근하기
  3. list를 사용해 요소 수정하기
  4. 리스트 내에 특정값 유무 확인

Python에서 list는 여러 값을 저장할 수 있는 순서가 지정된 모음입니다. 목록은 대괄호([])를 사용하여 생성되며 각 요소는 쉼표(,)로 구분됩니다. 목록은 다양한 데이터 유형을 저장할 수 있으며 중첩 목록도 지원할 수 있습니다. 이 때 요소란 대괄호 안에 있는 자료를 뜻합니다. 예를 들면 다음과 같습니다.

 

[요소,요소,요소...]


목록 선언 및 요소 액세스

 

1. 목록 만들기

 

my_list = [1, 2, 3, 4, 5]


2. 목록의 요소에 액세스


목록의 요소에 액세스하려면 인덱싱을 사용할 수 있습니다. Python에서 인덱싱은 0부터 시작합니다. 따라서 첫 번째 요소에 액세스하려면 my_list[0]을 사용합니다. 두 번째 요소에는 my_list[1] 등을 사용합니다.

 

first_element = my_list[0]
second_element = my_list[1]


3. 네거티브 인덱싱


또한 음수 인덱싱을 사용하여 목록의 끝에서 요소에 액세스할 수 있습니다. 예를 들어 my_list[-1]은 마지막 요소를 제공하고 my_list[-2]는 마지막에서 두 번째 요소를 제공합니다.

 

last_element = my_list[-1]
second_to_last_element = my_list[-2]


4. 슬라이싱


슬라이싱을 사용하여 목록의 요소 범위에 액세스할 수 있습니다. 목록을 조각화하려면 시작 및 끝 인덱스를 콜론(:)으로 구분하여 지정해야 합니다.

 

# 인덱스 1부터 3까지의 요소를 가져옵니다 (끝 인덱스는 제외됨).
sub_list = my_list[1:4]


5. 중첩 목록 액세스


중첩 목록이 있는 경우 여러 대괄호를 사용하여 해당 요소에 액세스할 수 있습니다.

 

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
first_row = nested_list[0]
second_element_in_first_row = nested_list[0][1]


index를 사용하여 요소에 접근하기

파이썬에서 리스트의 요소들은 인덱스를 사용하여 접근할 수 있습니다. 리스트 인덱스는 0부터 시작하며 첫 번째 요소는 인덱스 0, 두 번째 요소는 인덱스 1, 이런 식으로 이어집니다. 음수 인덱스를 사용하여 리스트의 끝에서부터 요소에 접근할 수도 있습니다.

리스트에서 요소에 접근하는 방법은 다음과 같습니다.

1. 단일 요소에 접근하기

 

my_list = [10, 20, 30, 40]
first_element = my_list[0]  # 10
last_element = my_list[-1]  # 40


2. 요소 범위에 접근하기 (슬라이싱)

 

my_list = [10, 20, 30, 40, 50]
first_three_elements = my_list[0:3]  # [10, 20, 30]
last_two_elements = my_list[-2:]    # [40, 50]


3. 요소 간격을 지정하여 접근하기 (간격을 가진 슬라이싱)

 

my_list = [10, 20, 30, 40, 50]
even_indices_elements = my_list[0::2]  # [10, 30, 50]

 

4. 반복문을 사용하여 요소에 접근하기

 

my_list = [10, 20, 30, 40]

# 1. for 문 사용
for item in my_list:
    print(item)

# 2. enumerate() 함수와 for 문을 사용하여 인덱스와 요소에 접근하기
for index, item in enumerate(my_list):
    print(f"Element at index {index} is {item}")

# 3. while 문을 사용하여 요소에 접근하기
index = 0
while index < len(my_list):
    print(my_list[index])
    index += 1


list를 사용해 요소 수정하기

파이썬에서는 리스트에 요소를 추가하고 삭제하거나 정렬하는 등의 다양한 작업을 수행할 수 있는 리스트 메소드를 사용할 수 있습니다. 다음은 예시입니다.

1. 요소 추가하기

# 1. append(): 리스트의 끝에 요소를 추가합니다.

  my_list = [10, 20, 30]
  my_list.append(40)
  print(my_list)  # 출력: [10, 20, 30, 40]

# 2. insert(): 리스트의 특정 인덱스에 요소를 삽입합니다.

  my_list = [10, 20, 30]
  my_list.insert(1, 15)
  print(my_list)  # 출력: [10, 15, 20, 30, 40]

# 3. extend(): 다른 이터러블(예: 다른 리스트)에서 요소를 가져와 리스트 끝에 추가합니다.

  my_list = [10, 20, 30]
  another_list = [40, 50]
  my_list.extend(another_list)
  print(my_list)  # 출력: [10, 15, 20, 30, 40, 45, 50]


2. 요소 삭제하기

# 1. remove(): 리스트에서 지정된 요소의 첫 번째 발생을 제거합니다.

  my_list = [10, 20, 30, 20]
  my_list.remove(20)
  print(my_list)  # 출력: [10, 30, 20]

# 2. pop(): 지정된 인덱스에 있는 요소를 제거하거나 인덱스가 제공되지 않으면 마지막 요소를 제거합니다.

  my_list = [10, 20, 30, 40]
  my_list.pop()       # 마지막 요소 제거
  my_list.pop(1)      # 인덱스 1에 있는 요소 제거
  print(my_list)  # 출력: [10, 30]

# 3. clear(): 리스트에서 모든 요소를 제거합니다.

  my_list = [10, 20, 30]
  my_list.clear()
  print(my_list)  # 출력: []

 

2-1. DEL 키워드

파이썬에서 `del` 키워드는 리스트에서 항목을 제거하거나 전체 리스트를 삭제하는 데 사용됩니다. 이는 리스트 메소드가 아닌 일반적인 키워드이며 다른 데이터 구조에서도 사용할 수 있습니다. 리스트에서 `del` 키워드를 사용하는 방법은 다음과 같습니다.

 

# 1. 단일 항목 제거
# 특정 인덱스의 항목을 제거하려면 `del` 키워드 뒤에 리스트와 제거하려는 요소의 인덱스를 지정합니다.

my_list = [10, 20, 30, 40]
del my_list[1]  # 인덱스 1(20)의 요소를 제거합니다.
print(my_list)  # 출력: [10, 30, 40]

# 2. 항목 범위 제거
# 슬라이스를 지정하여 항목 범위를 제거할 수 있습니다.

my_list = [10, 20, 30, 40, 50, 60]
del my_list[1:4]  # 인덱스 1(포함)에서 4(제외)까지의 요소를 제거합니다.
print(my_list)  # 출력: [10, 50, 60]


# 3. 모든 항목 제거
# 콜론을 사용하여 전체 리스트를 지정하면 모든 항목을 제거할 수 있습니다. (이는 `clear()` 메소드와 다릅니다. `clear()` 메소드는 리스트를 유지하고 비웁니다.)

my_list = [10, 20, 30, 40]
del my_list[:]
print(my_list)  # 출력: []

# 4. 전체 리스트 삭제
# `del` 키워드를 사용하여 전체 리스트 객체를 삭제할 수 있습니다. 이렇게 하면 리스트 객체가 더 이상 존재하지 않으며 액세스하려고하면 오류가 발생합니다.

my_list = [10, 20, 30, 40]
del my_list
print(my_list)  # 이는 NameError를 발생시킵니다: name 'my_list' is not defined

`del` 키워드를 사용하면 리스트에서 항목이 제거되어 리스트의 크기가 변경됩니다. 이로 인해 실수로 인덱스 오류가 발생할 수 있으므로 주의해야 합니다.


3. 요소 정렬하기

 

# 1. sort()
# 리스트의 요소를 오름차순으로(기본값) 정렬하거나 `reverse=True`를 지정하면 내림차순으로 정렬합니다.

  my_list = [30, 10, 40, 20]
  my_list.sort()  # 요소를 오름차순으로 정렬합니다.
  print(my_list)  # 출력: [10, 20, 30, 40]

  my_list.sort(reverse=True)  # 요소를 내림차순으로 정렬합니다.
  print(my_list)  # 출력: [40, 30, 20, 10]

# 2. reverse()
# 메소드는 리스트에 있는 요소들의 순서를 뒤집습니다. `reverse()` 메소드를 사용하여 리스트의 순서를 뒤집는 예시 코드입니다.

my_list = [10, 20, 30, 40]
my_list.reverse()
print(my_list)  # 출력: [40, 30, 20, 10]


위 코드는 리스트 `my_list`에 있는 요소들의 순서를 뒤집고, 뒤집어진 리스트를 출력합니다. 따라서 출력 결과는 `[40, 30, 20, 10]`가 됩니다.


리스트 내에 특정값 유무 확인

파이썬에서 `in`과 `not in` 연산자는 리스트에 특정 값을 포함하는지 여부를 확인하는 데 사용됩니다. 이러한 연산자는 값을 찾으면 `True`를 반환하고 그렇지 않으면 `False`를 반환합니다.

다음은 `in`과 `not in` 연산자를 리스트와 함께 사용하는 방법입니다.

1. `in` 연산자 사용하기:

`in` 연산자는 주어진 값이 리스트에 있는지 여부를 확인합니다. 값이 발견되면 `True`를 반환하고 그렇지 않으면 `False`를 반환합니다.

my_list = [1, 2, 3, 4, 5]

# 리스트에 값이 있는지 확인
if 3 in my_list:
    print("3 is in the list")  # Output: 3 is in the list

if 6 in my_list:
    print("6 is in the list")
else:
    print("6 is not in the list")  # Output: 6 is not in the list

 

2. `not in` 연산자 사용하기:

`not in` 연산자는 주어진 값이 리스트에 없는지 여부를 확인합니다. 값이 발견되지 않으면 `True`를 반환하고 그렇지 않으면 `False`를 반환합니다.

my_list = [1, 2, 3, 4, 5]

# 리스트에 값이 없는지 확인
if 3 not in my_list:
    print("3 is not in the list")
else:
    print("3 is in the list")  # Output: 3 is in the list

if 6 not in my_list:
    print("6 is not in the list")  # Output: 6 is not in the list
else:
    print("6 is in the list")


`in`과 `not in` 연산자는 전체 리스트를 순환하지 않아도 특정 값의 존재 여부를 쉽게 확인할 수 있어 리스트와 다른 이터러블 데이터 구조를 다룰 때 매우 유용합니다.

반응형
반응형

이전 포스팅에서 if문에 대해서 다뤘는데, 실수로 이 부분을 깜빡해 따로 작성하게 되었습니다. if 문은 조건이 논리적으로 True일 때 실행되는 코드 블록을 정의합니다. 일부 값은 논리적으로 False로 평가되므로 if 문이 실행되지 않습니다. Python에서 False로 평가되는 값은 다음과 같습니다:

1. `None`: Python에서는 None이 정의되지 않은 값을 나타내며, 논리적으로 False입니다.
2. 숫자 0: 정수 0과 실수 0.0은 논리적으로 False입니다.
3. 빈 문자열 `''`: 문자열이 비어 있으면 논리적으로 False입니다.
4. 빈 리스트 `[]`: 리스트가 비어 있으면 논리적으로 False입니다.
5. 빈 튜플 `()`: 튜플이 비어 있으면 논리적으로 False입니다.
6. 빈 딕셔너리 `{}`: 딕셔너리가 비어 있으면 논리적으로 False입니다.
7. 빈 집합 `set()`: 집합이 비어 있으면 논리적으로 False입니다.

이러한 값들은 if 문의 조건으로 사용될 때 코드 블록을 실행하지 않습니다. 예를 들어:

value = 0

if value:
    print("The value is logically True.")
else:
    print("The value is logically False.")



이 경우 출력은 "The value is logically False."입니다. 비슷한 방식으로, 빈 컨테이너나 None 값도 if 문에서 논리적으로 False로 취급됩니다. 이를 이용해 특정 값을 확인하거나, 컨테이너가 비어 있는지 여부를 확인하는 등의 작업을 수행할 수 있습니다. 또한 개발 중에 아직 구현되지 않은 기능을 실행해 오류를 발생하지 않도록 이렇게 처리하기도 합니다.

 

이번 포스팅은 이전 포스팅을 가볍게 보충하는 느낌이기 때문에 여기서 마치도록 하겠습니다.

반응형
반응형

목록

  1. if 함수
  2. 시간 표현
  3. 홀짝 구분

if 함수

`if` 문은 Python에서 조건부 실행을 수행하기 위해 사용되는 기본 제어 구조입니다. `if` 문은 주어진 조건이 참(`True`)인 경우에만 해당 블록의 코드를 실행합니다.

1. 기본 예시

age = 18

if age >= 18:
    print("You are an adult.")

이 예시에서 `age >= 18`이라는 조건이 참(`True`)이므로, `print("You are an adult.")` 구문이 실행됩니다.

2. 여러 조건 사용

`if` 문은 `elif`(else if의 줄임말)와 `else` 절과 함께 사용되어 다양한 경우를 처리할 수 있습니다.

temperature = 25

if temperature < 0:
    print("It's freezing!")
elif temperature >= 0 and temperature < 10:
    print("It's cold.")
elif temperature >= 10 and temperature < 20:
    print("It's cool.")
else:
    print("It's warm.")


이 예시에서는 온도에 따라 다양한 메시지를 출력합니다. 온도가 0도 미만이면 "It's freezing!"이 출력되고, 0도 이상 10도 미만이면 "It's cold."이 출력됩니다. 10도 이상 20도 미만일 경우 "It's cool."이 출력되며, 20도 이상일 경우 "It's warm."이 출력됩니다.


이처럼 `if`, `elif`, `else` 구문을 사용하여 다양한 조건에 따라 코드를 실행할 수 있습니다.


시간 표현

Python의 `datetime` 모듈을 사용하여 날짜와 시간을 처리하고, `if`문을 사용하여 특정 조건에 따라 다른 메시지를 출력하는 예제를 제공하겠습니다.

from datetime import datetime

# 현재 날짜와 시간 가져오기
current_time = datetime.now()

# 현재 시간 가져오기
current_hour = current_time.hour

if 6 <= current_hour < 12:
    print("Good morning!")
elif 12 <= current_hour < 18:
    print("Good afternoon!")
elif 18 <= current_hour < 22:
    print("Good evening!")
else:
    print("Good night!")


이 예제에서는 `datetime.now()` 함수를 사용하여 현재 날짜와 시간을 가져옵니다. 그런 다음 `current_time.hour` 속성을 사용하여 현재 시간(시)을 가져옵니다. `if`와 `elif`문을 사용하여 현재 시간에 따라 다른 인사말을 출력합니다.

 

파이썬의 if 문을 사용하여 입력된 월을 기반으로 계절을 구분하는 예제입니다:

month = int(input("Enter the month (1-12): "))

if 1 <= month <= 12:
    if 3 <= month < 6:
        season = "Spring"
    elif 6 <= month < 9:
        season = "Summer"
    elif 9 <= month < 12:
        season = "Autumn"
    else:
        season = "Winter"
    print(f"The season is {season}.")
else:
    print("Invalid month. Please enter a number between 1 and 12.")


이 코드는 사용자로부터 월을 입력받아 해당 월이 속한 계절을 출력합니다. 입력된 월의 범위가 올바르지 않으면 오류 메시지를 출력합니다.


홀짝 구분

Python을 사용하여 주어진 숫자가 짝수인지 홀수인지를 확인하는 코드를 작성해보겠습니다.

number = int(input("Enter a number: "))

if number % 2 == 0:
    print("The number is even.")
else:
    print("The number is odd.")



이 코드는 사용자로부터 입력받은 숫자를 확인하여, 해당 숫자를 2로 나눈 나머지가 0이면 짝수로 판단하고, 그렇지 않으면 홀수로 판단합니다. 이를 통해 주어진 숫자가 짝수인지 홀수인지를 출력합니다.

 

다른 방법으로는 비트 연산을 사용하는 방법이 있습니다. 예를 들어, 다음 코드를 사용할 수 있습니다.

number = int(input("Enter a number: "))

if number & 1 == 0:
    print("The number is even.")
else:
    print("The number is odd.")



이 코드는 사용자로부터 입력받은 숫자의 마지막 비트를 확인합니다. 이진수로 표현했을 때 마지막 비트가 0이면 짝수이고, 1이면 홀수입니다. 이 코드는 비트 연산을 사용하여 주어진 숫자가 짝수인지 홀수인지를 출력합니다.

반응형
반응형

Python에서 부울은 'True' 또는 'False'의 두 값 중 하나만 가질 수 있는 데이터 유형입니다. 부울은 주로 식이나 조건의 진리값을 나타내는 데 사용됩니다. 부울 대수학을 최초로 공식화한 영국의 수학자, 철학자, 논리학자인 George Boole의 이름을 따서 명명되었습니다.


부울 사용법


1. 부울 리터럴: 'True'와 'False'는 Python의 두 부울 리터럴입니다. 예약어이므로 대문자로 표기해야 합니다.


2. 비교 연산자: 비교 연산자(예: ==, !=, <, >, <=, >=)는 비교가 참인지 또는 참인지 나타내는 부울 값을 반환합니다.

x = 5
y = 10
print(x < y)  # Output: True


3. 논리 연산자: 파이썬에는 and, or 및 not의 세 가지 논리 연산자가 있습니다. 이러한 연산자는 부울 값 또는 식을 결합하고 부울 결과를 반환하는 데 사용됩니다.

x = True
y = False
print(x and y)  # Output: False
print(x or y)   # Output: True
print(not x)    # Output: False


4. 암시적 부울 변환: if 문이나 while 루프와 같은 특정 컨텍스트에서 파이썬은 부울이 아닌 객체를 부울 값으로 암시적으로 변환합니다. 예를 들어 숫자, 문자열 및 목록과 같은 개체는 비어 있지 않거나 0이 아니면 'True'로 평가되고 그렇지 않으면 'False'로 평가됩니다.

x = 0
if x:
    print("Non-zero")
else:
    print("Zero")  # Output: Zero


5. 명시적 부울 변환: bool() 함수를 사용하여 다른 데이터 유형을 부울로 명시적으로 변환할 수도 있습니다.

x = 5
y = bool(x)
print(y)  # Output: True


6. 단락 평가: Python은 논리 연산자 and 및 or에 대해 단락 평가를 사용합니다. 즉, 첫 번째 피연산자가 결과를 결정하기에 충분하면 두 번째 피연산자는 평가되지 않습니다. 이는 불필요한 계산을 피하거나 오류를 방지하는 데 유용할 수 있습니다. 단락을 평가할 때는 왼쪽에서 오른쪽으로 평가를 진행합니다.

x = 5
if x < 0 and unknown_function():
    print("This will not be printed.")

y = 10
if y > 0 or unknown_function():
    print("This will be printed.")

아무것도 출력되지 않습니다.


7. 참, 거짓 값: Python에서 값은 부울 컨텍스트에서 'True'로 평가되면 참으로 간주되고 'False'로 평가되면 거짓으로 간주됩니다. 예를 들어 0이 아닌 숫자, 비어 있지 않은 문자열 또는 비어 있지 않은 목록은 참으로 간주되는 반면 0, 빈 문자열, 빈 목록, '없음' 및 '거짓'은 거짓으로 간주됩니다.

x = []
if x:
    print("Truthy")
else:
    print("Falsy")  # Output: Falsy


8. 조건문에서 부울 사용: 부울은 특정 조건에 따라 프로그램의 흐름을 제어하기 위해 if, elif 및 while 문에서 자주 사용됩니다.

age = 18
if age >= 18:
    print("You are an adult.")
else:
    print("You are not an adult.")


9. 부울 식: 비교 및 ​​논리 연산자를 사용하여 복잡한 부울 식을 만들 수 있습니다. 괄호를 사용하여 표현식을 그룹화하고 평가 순서를 제어할 수 있습니다.

x = 5
y = 10
z = 15

result = (x < y) and (y < z)
print(result)  # Output: True


10. all() 및 any() 함수: 파이썬은 all() 및 any()와 같은 내장 함수를 제공하여 부울 값의 이터러블과 함께 작동합니다. all() 함수는 iterable의 모든 요소가 참이면 True를 반환하고 any()는 적어도 하나의 요소가 참이면 True를 반환합니다.

list1 = [True, True, False]
list2 = [True, True, True]

print(all(list1))  # Output: False
print(all(list2))  # Output: True
print(any(list1))  # Output: True


11. 비트 연산자: 파이썬에는 &(비트 AND), |(비트 OR), ^(비트 XOR), ~(비트 NOT), <<( 왼쪽 시프트) 및 >>(오른쪽 시프트). 이러한 연산자는 주로 정수로 작동하지만 'True' 및 'False'가 내부적으로 각각 1과 0으로 표시되므로 부울과 함께 사용할 수도 있습니다.

x = True
y = False

print(x & y)  # Output: False
print(x | y)  # Output: True


부울은 Python 프로그래밍의 필수 부분이며 이를 효과적으로 사용하는 방법을 이해하면 보다 효율적이고 읽기 쉬운 코드를 만드는 데 도움이 됩니다.

반응형
반응형

목차

  1. is00
  2. find와 rfind
  3. in
  4. spit
  5. f-문자열

is00

1. isalnum() - 문자열의 모든 문자가 영숫자(문자 또는 숫자)인지 확인합니다.

text1 = "Python2023"
result1 = text1.isalnum()
print(result1)  # Output: True


2. isalpha() - 문자열의 모든 문자가 알파벳(문자)인지 확인합니다.

text2 = "PythonProgramming"
result2 = text2.isalpha()
print(result2)  # Output: True


3. isidentifier() - 문자열이 유효한 Python 식별자(변수 이름)인지 확인합니다.

text3 = "variable_name"
result3 = text3.isidentifier()
print(result3)  # Output: True


4. isdecimal() - 문자열의 모든 문자가 십진수인지 확인합니다.

text4 = "12345"
result4 = text4.isdecimal()
print(result4)  # Output: True


5. isdigit() - 문자열의 모든 문자가 숫자인지 확인합니다.

text5 = "12345"
result5 = text5.isdigit()
print(result5)  # Output: True


6. isspace() - 문자열의 모든 문자가 공백 문자(공백, 탭, 줄 바꿈 등)인지 확인합니다.

text6 = "   \t\n"
result6 = text6.isspace()
print(result6)  # Output: True


7. islower() - 문자열의 모든 알파벳 문자가 소문자인지 확인합니다.

text7 = "hello world"
result7 = text7.islower()
print(result7)  # Output: True


8. isupper() - 문자열의 모든 알파벳 문자가 대문자인지 확인합니다.

text8 = "HELLO WORLD"
result8 = text8.isupper()
print(result8)  # Output: True

이러한 문자열 메서드는 문자열의 다양한 속성을 확인하는 데 사용되며 사용자 입력의 유효성을 검사하거나 텍스트를 처리하는 데 도움이 될 수 있습니다. 여기서 output이 true로 나오는 것을 볼 수 있는데,  'True' 또는 'False'의 두 가지 가능한 값 중 하나를 나타내는 데이터 유형을 부울(boolean)이라고 합니다.


find와 rfind

find() 및 rfind() 메서드는 주어진 문자열 내에서 지정된 하위 문자열을 검색하는 데 사용됩니다. find()는 문자열의 시작 부분에서 하위 문자열을 검색하고 rfind()는 문자열의 끝에서 검색합니다.

1. find() 사용:

text = "Hello, welcome to my world."

1. 부분 문자열 "welcome"의 위치 찾기
position = text.find("welcome")
print(position)  # Output: 7

2. 부분 문자열이 없으면 find()는 -1을 반환합니다
position = text.find("goodbye")
print(position)  # Output: -1

3. 검색의 시작 및 끝 인덱스 지정하기
position = text.find("o", 8, 20)
print(position)  # Output: 11


2. rfind() 사용:

text = "Hello, welcome to my world."

1. 부분 문자열 "o"의 마지막 발생 위치 찾기
position = text.rfind("o")
print(position)  # Output: 22

2. 부분 문자열이 없으면 rfind()는 -1을 반환합니다
position = text.rfind("goodbye")
print(position)  # Output: -1

3. 검색의 시작 및 끝 인덱스 지정하기
position = text.rfind("o", 0, 15)
print(position)  # Output: 11


이 예에서 find() 메서드는 문자열의 시작 부분에서 하위 문자열을 검색하고 rfind() 메서드는 문자열의 끝에서 하위 문자열을 검색합니다. 두 메서드 모두 하위 문자열이 처음 나타나는 인덱스를 반환하거나 하위 문자열이 지정된 범위 내에서 발견되지 않으면 -1을 반환합니다.


in

'in' 연산자는 지정된 하위 문자열이 주어진 문자열 내에 있는지 확인하는 데 사용할 수 있습니다. 하위 문자열이 발견되면 'True'를 반환하고 그렇지 않으면 'False'를 반환합니다. 다음은 Python 문자열에서 in 연산자를 사용하는 방법의 예입니다.

text = "Hello, welcome to my world."

# 부분 문자열 "welcome"이 문자열 내에 존재하는지 확인
result = "welcome" in text
print(result)  # 결과: True

# 부분 문자열 "goodbye"이 문자열 내에 존재하는지 확인
result = "goodbye" in text
print(result)  # 결과: False


이 예에서 in 연산자는 문자열 text 내에 지정된 하위 문자열 "welcome" 및 "goodbye"가 있는지 확인합니다. 결과는 하위 문자열 "welcome"에 대해 True이고 하위 문자열 "goodbye"에 대해 False입니다.


spit

split() 함수는 지정된 구분 기호를 기반으로 문자열을 하위 문자열 목록으로 분할하는 데 사용됩니다. 기본적으로 공백을 구분 기호로 사용하여 문자열을 분할합니다.

1. 기본 구분 기호(공백)를 사용하여 문자열 분할:

text = "Hello, welcome to my world"
words = text.split()
print(words)  # Output: ['Hello,', 'welcome', 'to', 'my', 'world']


2. 사용자 지정 구분 기호를 사용하여 문자열 분할:

text = "apple,banana,orange,grape"
fruits = text.split(",")
print(fruits)  # Output: ['apple', 'banana', 'orange', 'grape']


3. 사용자 지정 구분 기호 및 최대 분할 수로 문자열 분할:

text = "one,two,three,four,five"
limited_split = text.split(",", maxsplit=2)
print(limited_split)  # Output: ['one', 'two', 'three,four,five']


위의 예에서 split() 함수는 지정된 구분 기호를 기반으로 문자열을 하위 문자열 목록으로 분할하는 데 사용됩니다. 첫 번째 예에서는 기본 구분 기호(공백)가 사용되고 두 번째 및 세 번째 예에서는 사용자 지정 구분 기호(쉼표)가 사용됩니다. 세 번째 예에서는 'maxsplit' 매개변수를 사용하여 분할 수를 제한하는 방법도 보여줍니다.


f-문자열

"포맷된 문자열 리터럴"이라고도 하는 Python f-문자열은 문자열을 포맷하는 보다 편리하고 효율적인 방법으로 Python 3.6에서 도입되었습니다. F 문자열을 사용하면 중괄호 {}를 사용하여 문자열 리터럴 내에 식을 포함할 수 있습니다. 이러한 식에는 변수, 리터럴 및 런타임에 평가할 수 있는 식도 포함될 수 있습니다. F-문자열에는 'f' 또는 'F' 문자가 접두사로 붙습니다.

1. 간단한 변수 대체:

name = "easyIT"
age = 27
result = f"My name is {name} and I am {age} years old."
print(result)  # Output: "My name is easyIT and I am 27 years old."


2. f-문자열 내에서 표현식 사용:

a = 10
b = 20
result = f"The sum of {a} and {b} is {a + b}."
print(result)  # Output: "The sum of 10 and 20 is 30."


3. f-문자열 내의 숫자 서식 지정:

price = 12.3456
formatted_price = f"The price is ${price:.2f}."
print(formatted_price)  # Output: "The price is $12.35."


위의 예제에서 f-문자열은 문자열 리터럴 내에 식을 포함하는 데 사용됩니다. 첫 번째 예는 간단한 변수 대체를 보여주고 두 번째 예는 런타임에 평가되는 표현식을 사용하는 방법을 보여줍니다. 세 번째 예는 f-문자열을 사용하여 숫자 형식을 지정하는 방법을 보여줍니다. 이 경우 float는 소수점 이하 두 자리로 반올림됩니다.


F-문자열은 %-formatting 및 str.format()과 같은 이전 방법과 비교하여 문자열 서식을 지정하는 더 간결하고 읽기 쉬운 방법을 제공합니다. 또한 일반적으로 더 나은 성능을 제공합니다.

반응형