반응형

지금까지 우리는 파이썬의 기본적인 설치 방법,

개발 환경 설정, 기본 명령어와 자료형,

그리고 기본적인 연산과 변수 사용법에 대해 배웠습니다.


못 보신 분들은 아래 글을 순차적으로 읽고 오는 것을 추천드립니다.

파이썬 독학 #1 파이썬 (Python)이란? 설치 (쉬운 설명, 정의, IDLE, IDE, 특징, M1)

파이썬 독학 #2 (쉬운 설명, 개발환경 설정, vscode, 기본 명령어, Hello world)

파이썬 독학 #3 기초 (쉬운 설명, 자료형, 사칙 연산, 인덱싱, 포맷팅, 슬라이싱, 변수)


이번 글에서는 진도를 더 나가는 것은 잠시 쉬어가면서

이러한 기초적인 개념들을 활용하여 간단한 프로그램을 작성하는 방법을 소개하고자 합니다.

이를 통해 여러분이 실제로 코드를 작성하고 실행하는 과정을 경험해 보며,

파이썬 프로그래밍에 대한 이해를 한층 더 깊게 할 수 있을 것입니다.


프로그램 1: 사용자의 이름과 나이를 입력받아 인사하기

 

첫 번째 프로그램에서는 사용자로부터 이름과 나이를 입력받아,

그 정보를 바탕으로 사용자에게 인사하는 간단한 스크립트를 작성해보겠습니다.

이 프로그램은 input 함수를 사용하여 사용자의 입력을 받고,

print 함수와 f-string을 사용하여 사용자에게 인사 메시지를 출력합니다.

# 사용자로부터 이름과 나이 입력받기
name = input("이름을 입력하세요: ")
age = input("나이를 입력하세요: ")

# 입력받은 정보로 인사 메시지 출력하기
print(f"안녕하세요, {name}님! 당신은 {age}살이군요!")
  • 입력: 이름 "홍길동", 나이 "20"
  • 출력: "안녕하세요, 홍길동님! 당신은 20살이군요!"
  • 사용된 함수: input(), print()
  • 설명:
    • input() 함수는 사용자로부터 이름과 나이를 입력받는 데 사용되며, 입력 받은 값을 변수에 저장합니다.
    • print() 함수와 f-string을 사용하여, 저장된 변수를 포함하는 인사 메시지를 화면에 출력합니다.

프로그램 2: 간단한 계산기 만들기

 

두 번째 프로그램에서는 사용자로부터 두 개의 숫자와 수행하고 싶은 연산(덧셈, 뺄셈, 곱셈, 나눗셈)을 입력받아

해당 연산의 결과를 출력하는 계산기 프로그램을 만들어보겠습니다.

이 프로그램은 사용자의 입력에 따라 조건문을 사용하여 적절한 연산을 수행하고, 그 결과를 출력합니다.

# 사용자로부터 두 숫자와 연산자 입력받기
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
operator = input("연산자를 입력하세요(+, -, *, /): ")

# 입력받은 연산자에 따라 조건문을 사용하여 연산 수행
if operator == '+':
    result = num1 + num2
elif operator == '-':
    result = num1 - num2
elif operator == '*':
    result = num1 * num2
elif operator == '/':
    result = num1 / num2
else:
    print("지원되지 않는 연산자입니다.")

# 연산 결과 출력
print(f"결과: {result}")
  • 입력: "첫 번째 숫자 "10", 두 번째 숫자 "5", 연산자 "+"
  • 출력: "결과: 15.0"
  • 사용된 함수: input(), print()
  • 사용된 개념: 조건문 (if, elif, else), 형변환 (float())
  • 설명:
    • 사용자로부터 숫자와 연산자를 입력받기 위해 input() 함수가 사용됩니다.
    • 입력받은 숫자 문자열을 실수로 변환하기 위해 float() 함수가 사용됩니다.
    • 사용자가 입력한 연산자에 따라 적절한 연산을 수행하기 위해 if 조건문이 사용됩니다.
    • 연산 결과는 print() 함수를 사용하여 출력됩니다.

프로그램 3: 짝수와 홀수 판별기

 

사용자로부터 숫자를 입력받아,

그 숫자가 짝수인지 홀수인지 판별하는 간단한 프로그램입니다.

number = int(input("숫자를 입력하세요: "))

if number % 2 == 0:
    print(f"{number}는 짝수입니다.")
else:
    print(f"{number}는 홀수입니다.")
  • 입력: 숫자 "3"
  • 출력: "3는 홀수입니다."
  • 사용된 함수: input(), print()
  • 사용된 개념: 조건문 (if, else), 형변환 (int())
  • 설명:
    • 사용자로부터 숫자를 입력받기 위해 input() 함수가 사용되며, 이때 입력값은 int()를 사용하여 정수로 변환됩니다.
    • 숫자가 짝수인지 홀수인지 판별하기 위해 if 조건문과 나머지 연산자 %가 사용됩니다.
    • 판별 결과는 print() 함수를 사용하여 출력됩니다.

프로그램 4:간단한 할인율 계산기

 

사용자로부터 상품의 가격과 할인율을 입력받아,

할인된 가격을 계산하는 프로그램입니다.

price = float(input("상품의 원래 가격을 입력하세요: "))
discount = float(input("할인율을 입력하세요(%): "))

discounted_price = price * (1 - discount / 100)

print(f"할인된 가격은 {discounted_price}입니다.")
  • 입력: 상품 가격 "10000", 할인율 "20"
  • 출력: "할인된 가격은 8000.0입니다."
  • 사용된 함수: input(), print()
  • 사용된 개념: 산술 연산, 형변환 (float())
  • 설명:
    • 상품 가격과 할인율을 입력받기 위해 input() 함수가 사용되며, float()를 사용하여 입력값을 실수로 변환합니다.
    • 할인된 가격을 계산하기 위해 산술 연산자 *와 -가 사용됩니다.
    • 계산된 할인된 가격은 print() 함수를 사용하여 출력됩니다.

프로그램 5:간단한 퀴즈 프로그램

 

사용자에게 간단한 퀴즈를 제시하고,

입력받은 답변을 기반으로 점수를 계산하는 프로그램입니다.

score = 0

answer1 = input("파이썬의 창시자는 누구인가요? ")
if answer1.lower() == "귀도 반 로섬":
    score += 1

answer2 = input("파이썬이 처음 발표된 년도는? ")
if answer2 == "1991":
    score += 1

print(f"당신의 점수는 {score}/2입니다.")
  • 입력: 첫 번째 질문의 답 "귀도 반 로섬", 두 번째 질문의 답 "1991"
  • 출력: "당신의 점수는 2/2입니다."
  • 사용된 함수: input(), print()
  • 사용된 개념: 조건문 (if), 문자열 메소드 (lower())
  • 설명:
    • 퀴즈의 답을 입력받기 위해 input() 함수가 사용됩니다.
    • 입력받은 답이 정답과 일치하는지 비교하기 전, 모든 문자를 소문자로 변환하기 위해 lower() 메소드가 사용됩니다.
    • 점수 계산을 위해 조건문 if가 사용되며, 점수는 print() 함수를 사용하여 출력됩니다.

프로그램 6:간단한 ToDo 리스트

 

사용자로부터 할 일 항목들을 입력받아 리스트에 저장하고,

모든 할 일을 출력하는 프로그램입니다.

todo_list = []

while True:
    item = input("할 일을 입력하세요 (종료하려면 q를 입력): ")
    if item == 'q':
        break
    todo_list.append(item)

print("\n당신의 할 일 리스트:")
for item in todo_list:
    print(f"- {item}")
  • 입력: 할 일 항목들 "코딩 공부하기", "운동하기"
  • 출력: 당신의 할 일 리스트: - 코딩 공부하기 - 운동하기
  • 사용된 함수: input(), print()
  • 사용된 개념: 반복문 (while), 리스트 (list)
  • 설명:
    • 할 일 항목을 입력받기 위해 input() 함수와 while 반복문이 사용됩니다.
    • 입력받은 항목들은 리스트에 추가되며, list.append() 메소드가 사용됩니다.
    • 모든 할 일 항목들은 반복문을 사용하여 print() 함수로 출력됩니다.

프로그램 7:기온 변화기

 

섭씨온도를 화씨온도로 변환하는 간단한 프로그램입니다.

celsius = float(input("섭씨 온도를 입력하세요: "))
fahrenheit = (celsius * 9/5) + 32

print(f"화씨 온도는 {fahrenheit}입니다.")
  • 입력: 섭씨 온도 "25"
  • 출력: "화씨 온도는 77.0입니다."
  • 사용된 함수: input(), print()
  • 사용된 개념: 산술 연산, 형변환 (float())
  • 설명:
    • 섭씨 온도를 입력받기 위해 input() 함수가 사용되며, float()를 사용하여 입력값을 실수로 변환합니다.
    • 화씨 온도로 변환하기 위해 산술 연산이 수행되며, 변환된 온도는 print() 함수를 사용하여 출력됩니다.

이번 시간에는 파이썬의 기초 개념을 활용해 간단한 프로그램들을 작성하는 방법을 살펴보았습니다.

사용자 입력을 받는 input() 함수부터 조건문과 반복문,

그리고 기본적인 데이터 구조인 리스트까지,

이러한 개념들은 파이썬 프로그래밍의 기본을 이룹니다.

각 예제를 통해 이 개념들이 실제 코드에서 어떻게 활용되는지를 보여드렸으며,

이를 통해 여러분의 파이썬 실력이 한층 더 성장하기를 바랍니다.

 

파이썬 학습은 연습을 통해 더욱 발전할 수 있습니다.

오늘 배운 내용을 바탕으로 자신만의 작은 프로젝트를 시작해 보거나,

다양한 예제를 직접 코드로 작성해 보며 이해도를 높여가시길 권장합니다.

또한, 문제를 해결하면서 마주치는 오류나 난관들도 학습의 중요한 부분임을 잊지 마세요.

오류를 해결하는 과정에서 프로그래밍 실력은 크게 성장합니다.

 

다음 시간에는 파이썬의 더 심화된 주제나,

여러분이 실제로 활용할 수 있는 더 다양한 프로그래밍 기법을 다룰 예정입니다.

지금까지 배운 기초가 튼튼하다면,

앞으로 배울 내용들을 더 쉽게 이해하고 자신의 것으로 만들 수 있을 겁니다.

계속해서 호기심을 갖고,

새로운 것을 배우려는 자세를 유지해 주세요.

그럼 다음 시간에 또 만나요.

Happy Python Programming!
https://jdcyber.tistory.com/70

 

파이썬 독학 #5: 데이터 구조 마스터하기 - 튜플, 딕셔너리, 집합

지금까지 우리는 파이썬의 기본적인 설치 방법, 개발 환경 설정, 기본 명령어와 자료형, 그리고 기본적인 연산과 변수 사용법에 대해 배우고,해당 내용을 응용하여 간단한 프로그램 작성까지 해

jdcyber.tistory.com


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

c언어 독학

C언어 독학 시리즈 #1

 

우리는 어떤 프로그래밍 언어를 배워야 할까요?

각 언어의 특징을 모르시는 분들은

아래 글을 먼저 읽고 와주시기 바랍니다.

https://jdcyber.tistory.com/13

 

개발자 입문부터 풀스택까지 로드맵 (공부 순서를 어떻게 해야 하나요?)

앞서 2가지 프로그래밍 언어를 소개하는 글을 통해서 어떤 프로그래밍 언어를 배워야 하는지 그 프로그래밍 언어는 어떤 것에 특화가 되어있고 목표로 잡은 것이 어떤 것이냐에 따라 달라진다

jdcyber.tistory.com

C언어란??

 

C언어는 강력하고 유연한 언어로써 현재 사용 중인

거의 모든 프로그램에서 사용이 가능한

절차 지향 프로그래밍 언어(procedure-oriented programming language)입니다.

 

절차 지향 프로그래밍 언어란 무엇일까요?

아래 쉽고 재밌게 써놨으니 한번 읽어봐주세요

https://jdcyber.tistory.com/15

 

프로그래밍 언어 어떤 걸 먼저 배워야할까? (쉬운 설명, 특징, 목적, 파이썬, 자바, 자바 스크립트

수많은 프로그래밍 언어 도대체 뭘 먼저 배워야 해? 개발을 처음 배우거나 보안을 배우거나 iT업계로 들어올 때 수많은 컴퓨터 언어를 보고 멘붕이 오실 겁니다. 저걸 다 해야 하나..? 어떤 언어

jdcyber.tistory.com

 

왜 A도 아니고 B도 아니고 C일까요?

A 언어라고 불리는 ALGOL 60에서부터 B 언어까지

프로그래밍 언어는 순차적으로 개발이 되었습니다.

이후 B 언어를 좀 더 개선하여 지금 사용 중인 C언어가 만들어진 것이죠.

 

사실 C언어가 어려워 많은 사람들이 나랑 맞지 않는구나 하고

이 길을 포기하셨다가 파이썬을 배우고 다시 돌아오는 분들이 많은데요

그분들이 돌아와서 다시 돌아보고 조금이라도 배워보는 언어가 바로 C언어입니다.

그만큼 너무 많이 사용되고 있기 때문에 전문적이진 않더라도 조금은 배워둬야 하는 언어라고 생각합니다.

난이도가 있어 보이는지 간단한 Hello world 출력 방법을 통해 예제로 간단히 보여드리겠습니다.

 

C언어

#include <stdio.h>

int main()
{
    printf("Hello, C world");
    return 0;
}

Hello, c world

 

파이썬

Print('Hello python')

Hello python

 

한눈에 봐도 C언어에 비해 파이썬이 훨씬 간단하죠?

하지만 프로그래밍을 전문적으로 배우시거나 해킹,

리버싱을 하셔야 하는 분들은 어셈블리어라는 저급 컴퓨터 언어를 아셔야 하는데

어셈블리어와 가장 근접해있는 C언어가 어떤 식으로 동작하는지

메커니즘 정도는 배워 필요가 있습니다.


#include<stdio.h> ?

 

C언어 예제인 Hello, C world를 보시면

맨 앞 줄에 #include<stdio.h>라는 걸 보실 수 있습니다.

C언어로 프로그래밍을 하게 되면 거의 90% 이상 위 구문을 쓰고 시작하는데요

우리는 이게 뭔지 알고 적어야 하지 않겠습니까?

 

#include<stdio.h> 이 뜻은 내가 앞으로

작성할 코드에 stdio.h를 포함시키겠다는 뜻입니다.

그렇다면 stdio.h는 무엇일까요?

std(standard) i(in) o(out) h(header)

즉 standard input out put. header의 약자로

표준(standard) 입출력 (input, output) 관련 파일들의 헤더(header)를 포함시키겠다는 뜻입니다.

풀어서 이야기해 보자면 "표준 입출력에 관련된 헤더 파일을 포함시키겠다"라는 뜻인데

아직도 조금 어려우실 수 있습니다.

 

우선 헤더 파일이 무엇인지 모르시는 분들은

아래 글을 읽고 와주세요

https://jdcyber.tistory.com/12

 

패킷(Packet)이란? (쉬운 설명, 구조, 헤더, 인캡슐레이션, 핑, Ping)

패킷 (Packet) 이란 무엇일까요? 패킷은 패키지(package)와 덩어리를 뜻하는 버킷(bucket)의 합성어로 통신망을 통해 전송하기 쉽도록 데이터를 잘게 나눈 전송 단위입니다. ​ 본래 패킷은 소포를 뜻

jdcyber.tistory.com

 

조금만 더 풀어보겠습니다.

우리가 앞으로 배울 printf를 예로 들어보죠.

printf 명령어는 출력한다는 함수로써 위의 예제에서

hello world를 출력하라고 맨 앞쪽에 적었던 명령어입니다.

모든 프로그램은 함수로 이루어져 있고,

 

(중요합니다)

명령어는 어떤 작업을 수행하라라고

정해진 함수로 이미 어딘가에 정의 되어있습니다.

앞서 예를 든 printf는 출력하라 처럼 말이죠

 

우리가 printf라고 입력하면 컴파일러가 컴파일을 통해

컴퓨터가 이해하고 실행할 수 있도록 전달하게 되는데

우리가 printf라는 함수를 입력하면 앞서 이야기 했듯이

컴퓨터 어딘가에는 printf가 입력되면 이런 행동을 해라라고 저장이 되어있을 겁니다.

우리가 쓴다고 뿅 하고 명령어가 나오는 건 아니니까요

바로 지금 설명한 입출력을 관리하는 이 printf라는 명령어이자 함수는
위에서 말하고 있는 stdio.h 정의되어 있습니다.

 

프로그래밍 언어 독학

 

stdio.h에는 파일 입출력, 콘솔 화면 입출력,

파일 구조체, 문자 입출력 등등 다양한 입력 및 출력에

관련된 기능들이 정의되어 있습니다.

#include<stdio.h>의

stdio.h에 정의되어 있는 기능들을

내가 앞으로 쓸 코드에 쓸게~

그러니 앞으로 네가 정의하고 있는 함수 중 하나인

printf를 아래 쓰면 출력해 줘~ 라는 뜻입니다.

위와 같이 먼저 선행하여

먼저 아래 쓸 내용에 적용해 줘라고 쓰는

#include<stdio.h>와 같은 구문을

선행 처리 명령어 혹은 전처리라고 합니다


 

 

int는 정수 자료형 리턴 값 등등 어려운 말로 설명하는 것보다 쉽게 설명해 드리겠습니다.

 

모든 프로그래밍은 처음 시작하는 곳이 있어야겠죠?

여기서 시작해를 표시해 주는 것이 int (main)이며,

마지막에 return 0;은 종료되면 0으로 값을 보내줘라는 뜻입니다.

 

위 뜻은 컴퓨터는 0을 success로 인식하는데

만약 비정상적인 종료가 되거나 어떤 오류가 있다면 0이 아닌 값으로 보내서 알려줘라라는 뜻입니다.

모든 프로그래밍은 시작과 종료가 있거든요.

 

그러니 축약하자면 int (main) 이곳이 프로그래밍의 시작 부분이며 실행 중 에러 발생 시

0이 아닌 값을 리턴하여 알려줘라라는 뜻입니다.

앞서 설명드린 C언어 표준 라이브러리 중 stdio.h에는 종료 상태 값을 아래와 같이 상수로 정의하고 있습니다.

#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1

성공적으로 종료하면 0을 그렇지 않다면

1 반환하라고 정의되어 있는 것을 있죠

 

C언어는 강력하고 유연한 언어로써 현재 사용 중인

거의 모든 프로그램에서 사용이 가능한

절차 지향 프로그래밍 언어이며,

프로그래밍을 전문적으로 배우시거나 해킹,

리버싱을 하셔야 하는 분들에게 필요한 어셈블리어와 가장 근접해있기 때문에 꼭 배워야하는 언어입니다.

 

이쯤에서 다시 한번 예제를 볼까요?

#include <stdio.h>

int main()
{
    print("Hello, C world");
    return 0;
}

Hello, c world

 

#include <stdio.h>

앞으로 stdio.h라는걸 포함시켜라

stdio.h는 입출력 관련된 함수가 정의되어있는 헤더라는 뜻,

 

int main() / return 0;

여기가 프로그래밍의 시작이며 메인이고

완벽하게 종료되면 0이라는 값을 반환해서 알려줘라

 

모든 C 함수의 시작과 끝은 {} 중괄호로 표시하니 잊지 말아 주세요

 

그리고 모든 C 프로그램 문장은 세미콜론 ;으로 끝납니다.


이제 C언어의 기본은 완벽하게 이해하셨네요

 

C언어 독학 #1은 여기서 마치겠습니다. 다음 시간에 만나요

 

C언어 독학 #2

https://jdcyber.tistory.com/59

 

C언어 독학 #2 (변수, 자료형, 연산자, 기본 입출력, 실습 예제)

이번 시간에는 C언어의 기초 중 기초인 변수, 자료형, 연산자에 대해 알아보고, 기본적인 입출력 방법과 함께 간단한 실습 예제를 통해 실력을 쌓아보겠습니다. 언어독학 시리즈 1편을 아직 안

jdcyber.tistory.com


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형

+ Recent posts