kar7mp5

[Python] Input 과 if, for문 본문

Python/문법

[Python] Input 과 if, for문

kar7mp5 2024. 4. 3. 16:03
728x90

저번 시간에 print하는 법에 대해서 배웠습니다. 이제 사용자가 입력하는 값에 따라서 출력을 하는 프로그램을 제작하는 것에 대해서 배우도록 하겠습니다.

1. Input

  • Input 하나 받기

Python으로 입력을 받기 위한 함수는 input이라는 키워드를 사용합니다.

name = input("이름을 작성해주세요:")
print(type(name))
print(name)

위 출력문을 실행해보셨으면 알겠지만, input의 기본 자료형이 str임을 아실 수 있을 것입니다.

따라서 정수와 같은 숫자로 사용하기 위해서는 자료형 변환을 하신 이후에 사용을 하셔야합니다.

age = int(input("나이를 작성해주세요:")
print(type(age))
print(age)
  • Input 여러 개 받기

Python에서 문자열을 특정 키워드를 기준으로 나누는 방법이 있습니다.

split() 을 사용하시면 됩니다.

"Hello World".split(" ")

위와 같이 작성하게 되면, white-space 를 기준으로 나누어서 ["Hello", "World"]라고 작성할 수 있습니다.

"Hello,World".split(",")

다음과 같이 작성되어 있으면 , 를 기준으로 ["Hello", "World"]로 나누어지게 됩니다.

그러면 여러 개 값을 white-space기준으로 입력 받을 때, 다음과 같이 작성하면 됩니다.

a, b, c = input().split(" ")

하지만, input()은 기본 자료형이 str이기 때문에 int 타입으로 변환하기 위해서는 다음과 같은 작업이 필요합니다.

a, b, c = list(map(int, input().split(" ")))

갑자기 처음보는 문법이 많이 추가되어서 당황스러울 것 같습니다. 지금 단계에서는 객체 개념을 나가지 않았기에 설명하기 어렵습니다.

그냥 list(map(원하는 자료형, 리스트))로 변환을 한다고 아시면 좋을 것 같습니다.

input을 받을 때, 원치 않는 값들이 들어올 수 도 있습니다. white-space, \n와 같이 필요없는 요소들을 무시하고 싶을 때, strip() 을 사용합니다.

A = list(map(int, input().strip().split()))

2. If 문

If 문은 조건에 따라 프로그램의 실행 흐름을 제어하는 데 사용됩니다. 조건이 참(True)인 경우에만 특정 코드 블록이 실행됩니다. If 문의 구조는 다음과 같습니다.

if 조건:
    # 조건이 참인 경우 실행되는 코드

If 문은 주어진 조건이 참이면 해당 코드 블록이 실행되고, 조건이 거짓(False)이면 실행되지 않습니다. 조건은 불리언 값(True 또는 False)이 되어야 합니다. 조건이 참인 경우에만 코드 블록이 실행되므로, 프로그램의 흐름을 원하는 방향으로 제어할 수 있습니다.

If문은 다양한 조건을 다루기 위해 elif(else if)문과 함께 사용될 수도 있습니다. elif 문은 이전 조건이 거짓일 때 추가적인 조건을 확인하고, 해당 조건이 참인 경우에만 실행됩니다. if 문의 구조에 elif문을 추가하면 다음과 같습니다:

if 조건1:
    # 조건1이 참인 경우 실행되는 코드
elif 조건2:
    # 조건2가 참인 경우 실행되는 코드
else:
    # 모든 조건이 거짓인 경우 실행되는 코드

elif 문은 필요한 만큼 여러 개 사용할 수 있으며, 첫 번째로 참인 조건의 코드 블록만 실행됩니다. else 문은 모든 조건이 거짓인 경우에 실행되는 코드 블록입니다.

예를 들어, 다음은 사용자로부터 입력을 받아 성적에 따라 학점을 출력하는 예제입니다:

score = int(input("성적을 입력하세요: "))
if score >= 90:
    print("학점: A")
elif score >= 80:
    print("학점: B")
elif score >= 70:
    print("학점: C")
elif score >= 60:
    print("학점: D")
else:
    print("학점: F")

위의 예제에서는 입력한 성적에 따라 해당하는 학점을 출력합니다.


3. For 문

For 문은 시퀀스나 반복 가능한 객체의 각 요소를 순회하면서 코드를 반복적으로 실행하는 데 사용됩니다. For 문은 특히 리스트, 튜플, 문자열과 같은 시퀀스 객체와 함께 자주 사용됩니다. For 문의 구조는 다음과 같습니다:

for 요소 in 시퀀스:
    # 코드를 반복적으로 실행하는 부분

For 문은 주어진 시퀀스의 각 요소를 순서대로 가져와서 코드 블록을 실행합니다. 코드 블록은 시퀀스의 요소마다 반복적으로 실행되므로, 시퀀스의 모든 요소에 대해 코드를 실행할 수 있습니다. For 문은 반복적인 작업을 수행할 때 유용하며, 리스트의 각 요소를 처리하거나 특정 범위의 숫자를 반복적으로 처리하는 등의 작업에 자주 사용됩니다.

예를 들어, 다음은 리스트의 각 요소를 출력하는 간단한 예제입니다:

fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
    print(fruit)

위의 예제는 'apple', 'banana', 'orange'를 순서대로 출력합니다. For 문을 사용하여 리스트의 각 요소를 처리하면서 원하는 작업을 수행할 수 있습니다.

For 문 더 알아보기

For 문에서는 range 함수를 사용하여 숫자의 범위를 생성할 수 있습니다. range 함수는 시작 값, 종료 값, 그리고 증가 값으로 구성되며, 이를 통해 원하는 범위의 숫자들을 생성할 수 있습니다.

range 함수의 일반적인 구조는 다음과 같습니다:

range(시작 값, 종료 값, 증가 값)
  • 시작 값: 생성할 숫자의 시작 값입니다. 이 값은 범위에 포함되지 않습니다. 생략할 경우 0으로 간주됩니다.
  • 종료 값: 생성할 숫자의 종료 값입니다. 이 값은 범위에 포함되지 않습니다. 반복문에서 마지막 숫자로 사용됩니다.
  • 증가 값: 생성할 숫자들 사이의 간격입니다. 생략할 경우 1로 간주됩니다.

예를 들어, 다음은 1부터 10까지의 숫자를 출력하는 예제입니다:

for i in range(1, 11):
    print(i)

위의 예제에서는 range(1, 11)을 사용하여 1부터 10까지의 숫자를 생성합니다. for 문에서 range 함수를 사용하고, i 변수에 숫자를 할당하여 반복문을 실행합니다. 반복문의 실행 도중에 print 함수를 사용하여 i 값을 출력합니다. 따라서 1부터 10까지의 숫자가 출력됩니다.

range 함수를 활용하여 다양한 예제를 살펴보겠습니다.

예제 1: 1부터 10까지의 짝수 출력하기

for i in range(2, 11, 2):
    print(i, end=" ")

Output:

2 4 6 8 10

위의 예제에서는 range(2, 11, 2)를 사용하여 1부터 10까지의 숫자 중에서 짝수를 생성합니다. for 문에서 range 함수를 사용하고, i 변수에 숫자를 할당하여 반복문을 실행합니다. range(2, 11, 2)는 2부터 시작하여 2씩 증가하면서 10 이전까지의 숫자를 생성합니다. 따라서 2, 4, 6, 8, 10이 출력됩니다.

예제 2: 10부터 1까지 거꾸로 출력하기

for i in range(10, 0, -1):
    print(i, end=" ")

Output:

10 9 8 7 6 5 4 3 2 1

위의 예제에서는 range(10, 0, -1)을 사용하여 10부터 1까지의 숫자를 생성합니다. for 문에서 range 함수를 사용하고, i 변수에 숫자를 할당하여 반복문을 실행합니다. range(10, 0, -1)은 10부터 시작하여 1씩 감소하면서 0 이전까지의 숫자를 생성합니다. 따라서 10, 9, 8, 7, 6, 5, 4, 3, 2, 1이 출력됩니다.

예제 3: 1부터 100까지의 합 구하기

sum = 0
for i in range(1, 101):
    sum += i
print(sum)

Output:

5050

위의 예제에서는 range(1, 101)을 사용하여 1부터 100까지의 숫자를 생성합니다.

for 문에서 range 함수를 사용하고, i 변수에 숫자를 할당하여 반복문을 실행합니다. 반복문의 실행 도중에 sum 변수에 i 값을 더합니다. 마지막으로 sum 값을 출력하여 1부터 100까지의 숫자의 합을 구합니다.

range 함수는 매우 유용하며, 반복문에서 특정 횟수만큼 반복하거나 원하는 범위의 숫자들을 순회할 때 자주 사용됩니다.


4. 함수

Untitled

함수는 프로그램에서 재사용 가능한 코드 블록으로, 특정 작업을 수행하기 위해 사용됩니다. 함수는 이름을 가지고 있으며, 필요한 경우 매개변수를 받아들일 수 있습니다. 함수는 다음과 같은 구조를 가지고 있습니다:

#def 함수이름(매개변수1, 매개변수2, ...):
    # 함수의 동작을 정의하는 부분
    return 결과값

함수를 정의할 때는 def 키워드를 사용하고, 함수 이름을 지정한 후에는 소괄호 안에 필요한 매개변수를 선언합니다. 함수의 동작은 콜론(:) 다음에 오는 코드 블록에서 정의됩니다. 함수가 결과값을 반환해야 할 경우, return 키워드를 사용하여 결과값을 반환할 수 있습니다.

함수를 호출할 때는 함수 이름과 함께 필요한 매개변수를 전달합니다. 함수가 호출되면 해당 함수의 코드 블록이 실행되고, 필요한 작업을 수행한 후에는 결과값이 반환됩니다.

예제: 두 개 값을 더하는 함수

def add_numbers(num1, num2): # num1과 num2로 값을 받는다.
    sum = num1 + num2 # 받은 num1과 num2를 더하여 sum에 저장한다.
    return sum # sum 값을 반환한다.

위의 예제에서는 add_numbers라는 함수를 정의하고, num1num2라는 두 개의 매개변수를 받아들입니다. 함수의 동작은 num1num2를 더한 결과값을 sum 변수에 저장하고, return 키워드를 사용하여 sum을 반환합니다.

함수를 호출하여 결과를 확인할 수 있습니다. 예를 들어, 다음과 같이 함수를 호출하여 3과 5를 더한 결과를 출력할 수 있습니다:

result = add_numbers(3, 5)
print(result)  # 출력: 8

함수는 코드의 재사용성과 가독성을 높이는 데에 도움이 되며, 복잡한 작업을 단순화하여 프로그램을 구조화하는 데에 유용하게 사용됩니다. 함수를 적절히 활용하여 프로그램을 작성하면 유지보수가 용이하고 효율적인 코드를 구현할 수 있습니다.

728x90

'Python > 문법' 카테고리의 다른 글

[Python] 변수 및 자료형  (1) 2024.03.26