Languages/Python

[워니 파이썬 기초] #1 변수, 타입, 조건문, 함수

성중 2021. 2. 19. 18:57

print() -> 출력 / input() -> 입력

str -> 문자열

int -> 정수 / float -> 실수

문자열 포맷 참고

 

파이썬의 %로 문자열을 포매팅(formatting)하는 방법

 문자열 중간에 어떤 변수의 내용을 출력하고 싶다면 print()함수를 이용하면 된다. >>> a=3+4j >>> b=’hi’ >>> print('a is',a,’and b is’,b) #변수 앞뒤에 공백문자를 자동으로 넣어준다. a is (3+4j) and..

studymake.tistory.com

 

#변수설정

 

변수를 설정 할 수 있다.(정수, 소수, 문자)

x=1
y=1.2
z="안녕하세요."

 

#타입

 

-숫자

x=1
y=2
z=1.2

기본적인 사칙연산, +a가 가능하다.

print(x+y) -> 더하기

print(x-y) -> 빼기

print(x*y) -> 곱하기

print(x/y) -> 나누기

print(x**y) -> x의y제곱

print(x%y) -> x를 y로 나누고 남는 값 (mod=모듈러)

 

-문자열(“ ”또는 ‘ ’로 나타냄)

x="hello"
y="bye"

더 긴 문자열은 ''' '''

z='''
안녕하세요.
저는 김성중입니다.
'''

*문자 툴에서도 더하기(+)가 가능하다.

print("안녕"+"잘 지내니") 

*숫자와 문자 혼합

단, 숫자와 문자열을 그냥 합칠 수는 없음

print(“몇 살이야?”+4) -> 오류(타입이 서로 맞지 않음)

4를 문자 형태(str)로 바꿔 줘야함

print(“몇 살이야?”+str(4)) 
-> 몇 살이야?4

 

casting -> 같은 형태로 바꾸어 주는 것 str() int()

캐스팅 연습)

x=4
y="4"

print(x+y) -> 오류(타입이 서로 맞지 않음)
print(str(x)+y) -> 44
print(x+int(y)) -> 8

#불리안(boolean) True/False

어떤 조건이 참이면 ~해라

어떤 조건이 거짓이면 ~해라

if ~ :

if not ~ :

if 2>1:
print("Hello")
-> Hello (참이기 때문에 표시됨)

if 1>2:
print("Hello")
->   (거짓이기 때문에 아무것도 표시 안됨)

if not 1>2:print("Hello")
-> Hello (만약 1이 2보다 크지 않다면 -> 참)

and, or과 조합이 가능함

and(연결된 조건문이 모두 참이어야함)

or(연결된 조건문 중에 참이 하나라도 있으면 됨)

if 2>1 and 4>3:
print("Hello")
->Hello

else 조합이 가능함

x=3
if x>3:
print("Hello")
else:
print("Hi")
->Hi

추가로 elif도 조합 가능함 (else if의 줄임)

x=3
if x>3:
print("Hello")
elif x==3:
print("Yee")
else:
print("Hi")
->Yee (위에서부터 차례대로 계산되기 때문에 Yee가 출력됨)

#함수(Function)

반복되는 코드를 그룹으로 모으는 작업

def 함수이름():

 

예를 들어

def chat():
print("철수: 안녕? 넌 몇 살이니?")
print("영희: 나? 나는 20")

chat()을 입력하면 이하의 내용이 입력됨

 

함수 인자들을 설정, 변형 할 수 있음

예를 들어 이름으로 하자면

def chat(name1, name2):
print("%s: 안녕? 넌 몇 살이니?" %name1)
print("%s: 나? 나는 20" %name2)

이때

chat(“A”, “B”)를 입력하면

A: 안녕? 넌 몇 살이니?
B: 나? 나는 20

원하는 이름으로 입력 시킬 수 있음

 

여기서 나이까지 인자로 추가해보자

def chat(name1, name2, age):
print("%s: 안녕? 넌 몇 살이니?" %name1)
print("%s: 나? 나는 %d" %(name2,age))

chat(“A”, “B’, 30)을 입력해보자

A: 안녕? 넌 몇 살이니?
B: 나? 나는 30

심화)

def dsum(a, b):
result = a+b
return result

print(dsum(2, 4))

->6

*result를 사용하는 함수 값은 ‘마지막에 return으로 끝이 나야 함’

 

연습문제

# 먼저 이름과 나이를 받아라

#나이가 10살 미만이면 "안녕"이라고 말해라

#나이가 10살에서 20살이면 "안녕하세요"라고 말해라

#그 외에는 "안녕하십니까"라고 말해라

def sayhello(name, age):
  if age<10:
    print("안녕, "+name)
  elif 10<=age<=20:
    print("안녕하세요,"+name)
  else:
    print("안녕하십니까,"+name)

sayhello("토끼", 50)
sayhello("성중", 20)
sayhello("개구리", 5)

->
안녕하십니까,토끼
안녕하세요,성중
안녕,개구리

input 보충

 

1. 그냥 하나 입력받기

a = input()

 

2. 형식도 지정해서 입력받기

a = int(input())

 

3. 두 개 이상 띄어쓰기로 입력받기

a, b = input().split()

a = int(a)

b = int(b)

 

4. map을 활용해 효율적으로 입력받기 + split 활용

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

 

5. 리스트로 입력받기

a= list(map(int, input().split()))

 

 +++

print 보충

while, for문에서도 가로로 출력하기

print(i, end=' ')