f(x) = 2*x+3
y = f(2)
위에서, y의 값은? ----> 7
기본적으로 쓰는 게 다르다.
자바스크립트에서는,
function f(x) {
return 2*x+3 # 7
}
반면 파이썬에서는,
def f(x):
return 2*x+3 # 중괄호 대신에 들여쓰기로 각 블록의 범위를 표시한다.
f(2) # 7
def sum_all(a,b,c):
return a+b+c
def mul(a,b):
return a*b
result = sum_all(1,2,3) + mul(10,10)
# result라는 변수의 값은?
sum_all(1,2,3) ---> 6
mul(10,10) ---> 100
result는 106임을 확인.
def is_adult(age):
if age > 20:
print('성인입니다') # 조건이 참이면 성인입니다를 출력
else:
print('청소년이에요') # 조건이 거짓이면 청소년이에요를 출력
is_adult(30) # 성인입니다
else if ---> elif
def is_adult(age):
if age > 20:
print('성인입니다')
elif age >= 13:
print('청소년이에요')
else:
print('어린이네요!')
is_adult(30) # 성인입니다
파이썬에서의 반복문은, 리스트의 요소들을 하나씩 꺼내쓰는 형태입니다.
fruits = ['사과','배','감','귤'] for fruit in fruits: print(fruit) # 사과 # 배 # 감 # 귤
위를 자바스크립트처럼 쓰면 아래와 같기도 하다.for i in range(len(fruits)): # i 가 0, 1, 2, 3일 때 fruit = fruits[i] print(fruit)
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
사과의 갯수를 센다면 어떻게 하면 좋을지 슈도코드로 적는다.
과일 리스트가 있을 때,
결과를 저장할 변수를 만들고 초깃값은 0으로 한다.
리스트 안에 있는 각 과일에 대해서
이름이 사과이면
결과를 1 증가시킨다.
결과 출력
위를 코드로 작성.
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
count = 0
for fruit in fruits:
if fruit == '사과':
count += 1
print(count)
# 사과의 갯수를 세어 보여줍니다.
이때 알게된 것, 주목! 들여쓰기의 정도를 확인하자.
아래는 반복문 안의 print()라서
이렇게 count가 변동될 때마다 출력된다.
그러나 아래는 위와 다르게도
반복문이 다 돈 다음 최종적인 count가 출력된다.
위 함수를 범용화 해본다.
def count_fruits(target):
count = 0
for fruit in fruits:
if fruit == target:
count += 1
return count
subak_count = count_fruits('수박')
print(subak_count) #수박의 갯수
gam_count = count_fruits('감')
print(gam_count) #감의 갯수
++ 이후 시간이 좀 지나고 혼자 다시 자력으로 해보기 연습을 했다.
# 과일 리스트가 있을 때,
# 결과를 저장할 변수를 만들고 초깃값은 0으로 한다.
# 리스트 안에 있는 각 과일에 대해서
# 이름이 사과이면
# 결과를 1 증가시킨다.
# > 결과 출력
fruits = ['사과','배','배','감','수박','귤','바나나','딸기','사과','배','수박','메론']
# z=0
# for x in fruits:
# if x=='메론':
# z+=1
# print(z)
def FruitCounter(target):
z=0
for x in fruits:
if x == target:
z+=1
return z
apple = print( FruitCounter('사과') )
watermelon = print( FruitCounter('수박') )
pear = print( FruitCounter('배') )
아래와 같이 각 사람의 이름과 나이가 든 딕셔너리가 각각의 요소인 리스트가 있을 때, 이름을 넣으면 나이를 돌려주는 함수를 만들어봅시다.
people = [{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27}]
for person in people:
if person["name"] == "bob":
print(person['age'])
---->
def get_age(myname):
for person in people:
if person['name'] == myname:
return person['age']
return '해당하는 이름이 없습니다'
print(get_age('bob')) #20
print(get_age('carry')) #38
위 코드를 보면 알 수 있듯, 들여쓰기로 if문의 안팍이 결정된다.
참이라 if문 안에 들어가면 return person['age'] 가 되고, 거짓이라 if문에서 튕겨져나오면 return '해당하는 이름이 없습니다'가 실행된다.
++ 이후 시간이 좀 지나고 혼자 다시 자력으로 해보기 연습 및 응용을 했다.
# 사람 정보가 담긴 리스트가 있을 때,
# 리스트 안의 딕셔너리인 각 사람에 대해서
# 만약 사람의 이름이 'bob'이면
# 그 사람의 나이를 출력해라.
people = [{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27}]
# for x in people:
# if x['name']=='bob':
# print(x['age'])
def getAge(target):
for x in people:
if x['name'] == target:
text = x['name'] + ' is ' + str( x["age"] ) + ' years old.'
return text
return 'No one has that name here.'
print( getAge('ben') )
이때 자바스크립트처럼 동적으로 문자열+숫자를 해도 문자열이 되지 않아, int(), float(), str(), format()을 서치하여 습득했다. 위 답안은 str()을 이용하고 있다.
https://codechacha.com/ko/python-convert-string-to-integer/
https://codechacha.com/ko/python-convert-integer-to-string/