Programing Language/[python]

[python] 변수 , 타입, 조건문

orange_mj 2022. 7. 9. 22:03

#1 변수 

x = 1
y = 2
print(x)
print(y)

z = "안녕"
print(z)

 

#2 타입

숫자 

 x = 1
y = 2
z = 1.2

print(x + y)
print(x - y)
print(x * y)
print(x / y)
print(x ** Y) #제곱
print(x % y) #mod (x를 y로 나눈 나머지)
print(x // y) #x 를 y 로 나눈 몫

문자열

x = "hello"
y = 'bye'
z = """
안녕하세요
워니입니다
"""
print(x)
print(y)
print(z)
print("너 혹시 몇 살이니?" + 4)

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    print("너 혹시 몇 살이니?" + 4)
TypeError: can only concatenate str (not "int") to str

 

에러가 뜸.

서로 다른 타입을 사칙연산으로 할 수가 없다. 

 

print("너 혹시 몇 살이니? " + str(4))

 

에러가 안 뜸.

이걸 "캐스팅한다"라고 한다.

 

x = 4 # 숫자 타입
y = "4" # 문자열 타입

print(str(4) + y) #-> 연산이 아니고 그냥 출력 (4 ->"4") + "4" = "44"
print(x + int(y)) #-> 연산이 숫자의 덧셈 4 + ("4" -> 4) = 4 + 4 = 8

 

불리안(true/false) boolean

x = True
y = False

print(x)
print(y)

 

 

#3 조건문 (if else)

 

if 2 > 1:
  print("Hello")

if not 1 > 2:
  print("Hello")

if 0 > 0 and 2 > 1:
  print("Hello") #두개 다 만족해야 프린트

if 0 > 0 or 2 > 1:
  print("Hello") #두번째 조건은 참이므로 둘중 하나만 만족하면 프린트

 

 

x = 3

if x > 5:
  print("Hello")
elif x == 3:
  print("Bye")
else:
  print("Hi")

 

 

#4 함수

def chat():
  print("알렉스: 안녕? 넌 몇 살이니?")
  print("윤하: 나? 나는 20")

chat()

chat() 으로 계속 반복해줄 수가 있다. 

 

 

인자 사용

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

chat("알렉스", "윤하")
chat("철수", "영희")

인자를 사용하여 이름만 바꿀 수가 있다. (%s)

 

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

chat("알렉스", "윤하", 10)
chat("철수", "영희", 30)

나이도 변경 할 수 있도록 인자를 넣었다. (%d)

 

 

return

x = 1
y = 2
z = x + y 

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

d = dsum(1, 2)
print(d)

return은 함수를 호출 했을 때 결과값을 반환하는 기능이다. 

return 자리에 print 를 했다면 d 는 반환할 결과값이 없기 때문에  None 이 뜨게 된다. 

 

 

정리 문제

# 먼저 이름과 나이를 받아라
#나이가 10살 미만이면 "안녕, 이름" 이라고 말해라
# 나이라 10살에서 20살 사이면 "안녕하세요, 이름"라고 말해라
# 그 외에는 "안녕하십니까, 이름" 라고 말해라

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

sayHello("미니", 9)
sayHello("워니", 10)
sayHello("알렉스", 20)
sayHello("윤하", 40)

<출력>