2023. 3. 9. 14:01ㆍ학습일지
1-5. enumerate
- 반복문 사용 시 몇번째 반복인지 인덱스 번호로 확인
- 인덱스 번호와 요소를 튜플 형태로 변환
index:0, value:10
index:1, value:20
index:2, value:30
index:3, value:40
index:4, value:50
1-6. zip() 함수
- 객체가 담고 있는 원소를 엮어서 튜플의 형태로 반환
- 매개변수의 길이기 다를 때는 짧은 매개변수 기준으로 데이터가 엮이고, 나머지는 버려짐
- (10, 'apple')
(20, 'banana')
(30, 'orange')
- ('1', 'A', 'a')
('2', 'B', 'b')
('3', 'C', 'c')
('4', 'D', 'd')
('5', 'E', 'e')
1-6 list와 tuple을 for문과 함께 사용하기
문제
아래 score 리스트에 저장된 점수가 60점 이상인 학생이 몇명인지 알아보는 프로그램을 작성해보자
score = [90,30,50,60,80,70,100,40,20,10]
2. 다중반복문
- 반복문이 2개이상 겹쳐져 있는 형태
-
😎i:1
😋j:1
😋j:2
😋j:3
😎i:2
😋j:1
😋j:2
😋j:3
😎i:3
😋j:1
😋j:2
😋j:3
🤑 🤑 🤑 🤑 🤑
🤑 🤑 🤑 🤑 🤑
🤑 🤑 🤑 🤑 🤑
🤑 🤑 🤑 🤑 🤑
🤑 🤑 🤑 🤑 🤑
문제
문제 2
'🤑'를 이용해서 아래와 같은 도형을 만들어보자
-
🤑
🤑 🤑
🤑 🤑 🤑
🤑 🤑 🤑 🤑
🤑 🤑 🤑 🤑 🤑
2단부터 9단까지 구구단을 출력하는 프로그램을 작성
2단 2*1=2 2*2=4 ..
3단
..
9단
8 * 2 = 16
8 * 6 = 48
문제
*아래 score 리스트의 요소를 모두 출력하는 프로그램을 작성해보자
- score =[[80,90,50],[40,70,30],[90,50,100]]
- 80 90 50 40 70 30 90 50 100
3.컴프리헨션(comprehansion)
- 이터러블한 오브젝트를 생성하기 위한 방법 중 하나로 파이썬에서 사용할 수 있는 유용한 기능
- [1, 2, 1, 2, 1, 2]
- [[0, 0], [0, 0], [0, 0]]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
1. 딕셔너리(Dictionary)
- 대응관계를 나타내는 자료형으로 key와 value라는 것을 한 쌍으로 갖는 형태
- 하나의 딕셔너리의 key는 중복될 수 없음
- 하나의 딕셔너리의 value는 중복될 수 없음
1-1 딕셔너리 만들기
변수 = {키: 값1, 키2: 값,,,)
1-2. key를 통해 value찾기
KeyError Traceback (most recent call last)
<ipython-input-18-98571a1aef30> in <module>
1 dic3 = {'no':1, 'userid ':'apple','name':'김사과', 'hp':'010-1111-1111'}
2 print(dic3['no'])
----> 3 print(dic3['user id'])
KeyError: 'user id'
1
1-3. 데이터 추가 및 삭제
- {1: 'apple'}
{1: 'apple', 100: 'orange'}
<class 'dict'>
{100: 'orange', 50: 'melon'}
<class 'dict'>
1-4딕셔너리 함수
dict_keys(['no', 'user id ', 'name', 'hp'])
- dict_items([('no', 1), ('user id ', 'apple'), ('name', '김사과'), ('hp', '010-1111-1111')])
print(dic3['userid'])
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-40-18786cb7081a> in <module>
----> 1 print(dic3['age'])#키가 존재하지 않으면 에러
KeyError: 'age'
1-5 반복문을 이용한 딕셔너리 활용
1. 세트(set)
- 수학의 집합과 비슷한 형태로 순서가 없어서 어떤 값이 먼저 나올지 알 수 없고, 중복되는 데이터를 허용하지 않음
- 딕셔너리처럼 중괄호를 사용해서 선언하지만, key는 존재하지 않고 value만 존재
1-1. set만들기
{}
<class 'dict'>
1-2 set함수
- {200, 100, 150}
{200, 50, 100, 150}
- {40, 10, 20, 60, 30}
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-12-8ad4064136d0> in <module>
----> 1 s2.remove(50)
2 print(s2)
KeyError: 50
1-3 set의 연산자
-
- {70, 40, 10, 50, 20, 60, 30}
{70, 40, 10, 50, 20, 60, 30}
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-45-5f32916f4f5c> in <module>
2 result = s1 - s2
3 print(result)
----> 4 result(s1,difference(s2))
5 print(result)
NameError: name 'difference' is not defined
{10, 20}
2. 세트와 zip()함수
{20, 70, 10, 60}
{20, 70, 10, 60}
{20, 70, 10, 60}
{20, 70, 10, 60}
1. 함수
- 변수 x,y에 대해 x값이 정해지면 그에 따라 y값을 결정하는것
- 반복적으로 사용되는 가치있는 부분을 묶어서 하나의 집합으로 만듬
- 코드를 재활용하기 위한 목적
1-1. 이름만 있는 함수
def 함수명():
함수가 호출되면 실행할 문장
...
함수명() #호출
def func1():
print('처음으로 만드는 함수!')
func1()
처음으로 만드는 함수!
for i in range(5):
func1()
처음으로 만드는 함수!
처음으로 만드는 함수!
처음으로 만드는 함수!
처음으로 만드는 함수!
처음으로 만드는 함수!
1-2. 매개변수가 있는 함수
def 함수명(변수1,변수2 ,,,):
함수가 호출되면 실행할 문장
함수명(값1,값2, ,,,) #호출
def func2(num):
print(f'입력받은 숫자:{num}')
func2(10)
입력받은 숫자:10
func2(4)
입력받은 숫자:4
def func3(start, end):
sum = 0
for i in range(start, end+1):
sum += i
print(f'{start}부터{end}까지의 합: {sum}')
func3(1, 10)
1부터10까지의 합: 55
func3(1,100)
1부터100까지의 합: 5050
1-3. 리턴값이 있는 함수
def 함수명(변수1, 변수2,...)
함수가 호출되면 실행할 문장
...
return 값
변수 = 함수명(값1, 값2, ...)
def func4():
print('안녕하세요 python')
a = func4()
print(f'a에 저장된 값: {a}')
안녕하세요 python
a에 저장된 값: None
num = 10
num += 5
func4 ()
print('프로그램을 종료합니다.')
안녕하세요 python
프로그램을 종료합니다.
def func5():
return '🌹'
rose = func5()
print(f'rose에 저장된 값 : {rose}')
rose에 저장된 값 : 🌹
def func6(num1, num2):
sum = num1 + num2
return sum
result = func6(10) # TypeError: func6() missing 1 required positional argument: 'num2'
print(result)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-14-88a7f2c4ef71> in <module>
----> 1 result = func6(10)
2 print(result)
TypeError: func6() missing 1 required positional argument: 'num2'
result = func6(10, 5)
print(result)
print(sum)
print(num1)
print(num2)
15
<built-in function sum>
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-18-c2c1984f9e62> in <module>
2 print(result)
3 print(sum)
----> 4 print(num1)
5 print(num2)
NameError: name 'num1' is not defined
1-4. 드폴트 매개변수
def 함수명(변수1, 변수2...):
함수가 호출되면 실행할 문장
...
return 값
변수 = 함수명(값1, 값2...) #호출
변수 = 함수명() #호출
디폴트 매개변수는 첫번째 파라미터에만 적용할 수 없음
print(func6()) #TypeError: func6() missing 2 required positional arguments: 'num1' and 'num2'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-24-87e73df915f7> in <module>
----> 1 print(func6())
TypeError: func6() missing 2 required positional arguments: 'num1' and 'num2'
def func6(num1, num2=1):
sum = num1 + num2
return sum
print(func6())
2
print(func6(10,5))
15
result = func6(7,3)
print(result)
10
1-5. 매개변수의 개수가 가변적인 함수
def 함수명(*변수):
함수가 호출되면 실행할 문장
...
return 값
변수 = 함수명(값1,값2,...)
변수 = 함수명(값1) #호출
가변적인 매개변수를 전달할 경우 함수안에서 튜플형태로 사용
def func7(*args):
result = 0
#print(args)
for i in args:
result += i
return result
print(func7())
print(func7(10,30,20,70))
print(func7(10))
0
130
10
1-6 매개변수를 딕셔너리 구조로 전달받는 함수
def 함수명(**변수):
함수가 호출되면 실행할 문장
...
return 값
변수 = 함수명(변수1=값1,변수2=값2,,,) #호출
def func8(id,name,age): # 키순서가 같아야함
print(f'아이디 :{id}')
print(f'이름: {name}')
print(f'나이 : {age}')
#매개변수명과 딕셔너리의 키가 같아야함
#딕셔너리의 키는 반ㄷ느시 문자열 형태
dic1 = {'id': 'apple','name':'김사과', 'age':20}
#*의 데이터를 보낼 경우 키가 저장
func8(**dic1)
아이디 :apple
이름: 김사과
나이 : 20
def func9(**args):
# print(args)
for i in args:
if i == 'id':
id =args[i]
return id
user = func9(id='apple',name='김사과', age = 20)
user
'apple'
1-7. 리턴값이 여러개인 함수
def 함수명(변수1,변수2...):
함수가 호출되면 실행할 문장
...
retutrn 값1,값2...
변수1,변수2,... = 함수명(변수1,변수2..) #호출
def func10(num1,num2):
return num1+num2, num1-num2, num1*num2,num1/num2
result1,result2, result3,result4 = func10(10,3)
print(f'덧셈:{result1},뺄셈:{result2},곱셉:{result3},나눗셈{result4}')
덧셈:13,뺄셈:7,곱셉:30,나눗셈3.3333333333333335
_, _, result3, _ = func10(10,3) #곱셈의 결과만 필요할 때
print(result3)
30
'학습일지' 카테고리의 다른 글
20230310 KDT 학습일지 (0) | 2023.03.10 |
---|---|
20230309 KDT 학습일지 (0) | 2023.03.10 |
20230307 KDT 학습일지 (0) | 2023.03.07 |
20230306 KDT 수업일지 (0) | 2023.03.06 |
20230303 KDT 수업일지 (0) | 2023.03.03 |