# test1
a = 1
def test1(a):
a = a + 1
test1(a)
print(a)
# 함수 내에서 사용한 변수는 함수 내부에서만 작용할 뿐 밖의 변수에는 영향을 미치지 않는다.
# test2
# a = 1
def test2(a):
a = a + 1
test2(3)
#print(a) - 오
# name 'a' is not defined
# test3
c = 1
def test3(c):
c = c + 1
return c
c = test3(c)
print(c)
# return값이 있기 때문에 c 값이 변한다
# test4
d = 1
def test4():
global d
d = d + 1
test4()
print(d)
# 프로그래밍을 할 때 global 명령어는 사용하지 않는 것이 좋다.
# 함수는 독립적으로 존재하는 것이 좋기 때문이다.
# 외부 변수에 종속적인 함수는 그다지 좋은 함수가 아니다.
# 따라서 되도록 global 명령어를 사용하는 이 방법은 피하기
def test(a,b):
return a + b
add = lambda a,b: a + b # return이 생략 가능하다
print(add(3,4))
a1 = [x for x in range(10)]
print(a1)
a2 = [(lambda x:x*2)(x) for x in range(10) ]
print(a2)
# 맨 앞에는 리턴, for뒤에는 if
# 응용예제
a3 = [0,1,2,3,4,5,6,7,8,9]
p = list(map(lambda x:x**2, a3))
print(p)
# 제곱 함수 적용: p = list(map(lambda x: x**2, a3))
# map 함수는 첫 번째 인수로 주어진 함수를 두 번째 인수로 주어진 iterable(여기서는 a3 리스트)의 각 요소에 적용합니다.
# 여기서 첫 번째 인수는 lambda x: x**2입니다. lambda는 익명 함수(이름 없는 함수)를 정의할 때 사용되며, x를 입력 받아 x**2을 반환하는 함수입니다.
# 따라서 map(lambda x: x**2, a3)는 a3 리스트의 각 요소에 대해 제곱 연산을 수행합니다.
# map 함수는 결과를 map 객체로 반환하기 때문에, list 함수로 이를 리스트로 변환합니다.
파일 생성하기
#파일 생성하기1
f = open('새파일생성.txt','w')
f.close()
#파일 생성하기1 + 경로
path = './testfile/'
f = open(path + '새파일생성2.txt','w')
f.close()
#파일을 쓰기 모드로 열어 내용 쓰기
path = './testfile/'
f = open(path + '새파일생성3.txt','w',encoding='utf-8')
f.write('test ok잉!')
f.close()
문제) 하위 testfile 폴더 내에 lotto.txt라는 파일이름으로, 로또 번호 6개를 1000개 추천하여 적어주세요 한 줄에 6개씩 총 1000줄
path = './testfile/'
f = open(path + 'lotto.txt','w',encoding='utf-8')
import random
ls = []
la = []
how = 10
for h in range(how):
lotto = sorted(random.sample(range(1, 46), 6))
la.append(lotto) # la 리스트에 현재 로또 번호 조합을 추가
ls = ls + lotto # ls 리스트에 현재 로또 번호 조합을 추가 (중첩되지 않은 단일 리스트로)
#print(lotto)
# la는 각 로또 번호 조합을,
# ls는 모든 로또 번호를 단일 리스트로 저장
f.write(f'{lotto}\\n')
f.close()
def diary(name):
path = './testfile/'
f = open(path + name + '.txt','a',encoding='utf-8') #a는 삭제를 하지 않고 계속 누적시킴
while 1:
inp = input('작성하고 싶은 내용')
if inp == '그만':
break
f.write(inp + '\\n')
f.close()
diary('20250211일기')