22번 for문은 range로 사용
for a in range(10):
print(a,end=" ")
print()
li = [10,20,30,40]
print((len(li)))#()안의 객체의 갯수를 나타냄 이걸로 쓴다.
print(li.__len__())#위와 같다.
for a in range(len(li)):
print(a,end=" ")
print()
print(a,li[0:a])
for a in range(0,3):
for b in range(4):
print("[%d %d]" %(a,b),end=" ")
print()
li=[1,2,3,4]
print()
for index,value in enumerate(li):
print("[%d %d]" % (index, value), end=" ")
print()
#편하게 배열생성 위의것과 같다.
a="apple"
print(len(a))
print()
for index,value in enumerate(li):
print("[%d %s]" % (index, a), end=" ")#문자열도 사용가능
////////////////////////////////////////////////////////////////////////////////////////////////////////
23번 함수정리
# java와 다른것은 앞의 형식이 없다 ex)void
def func01():#전달인수없고 리턴값도 없는 함수
print("호랑이")
func01()
print()
def func02(a):#인수있고 리턴값은 없는함수
print(a)
func02(3)#콜
print()
def func03():#인수는없고 리턴값은 있는함수
print("호랑이")
return 100
func03()
a=func03()
print(a)
print()
def func04(a):#인수있고 리턴도 있다.
print("함수4번콜")
return a*10
a=func04(10)
print(a)
"""
#결과값
# 호랑이
#
# 3
#
# 호랑이
# 호랑이
# 100
#
# 함수4번콜
# 100
////////////////////////////////////////////////////////////////////////////////////////////////////////
24번
# def func05(a,b,c):
#
# # func05(1,2,3)
"""
def func06(a,b,c):
return a*b+c
print(func06(3,4,5))
def func07(a, b):
print('%s가' %a,end=' ')
for g in range(b):
print('멍', end='')
print(' 웁니다', end='')
def func08(a, b):
print('%s가' %a,end=' ')
print('멍'*b,end='')
print(' 웁니다', end='')
def func09(a,b,c):
print('%s가 %s 웁니다.' %(a,b*c), end=' ')
a=func07("강아지",3)
print(a)
a=func08("강아지",7)
print(a)
a=func09("야옹이","야옹",3)
print(a)
////////////////////////////////////////////////////////////////////////////////////////////////////////
25번
def func01(a):
print(a)
func01([10,20,30])#리스트 넣을수있다.
def func02():
print("호랑이")
# def func02(a):
# print("코끼리")
# return a
func02()#파이썬은 함수 재정의가 안된다.
# func02(3)
def func03():
print("호랑이")
func03()
def func03():
print("앵무새")
func03()#같은 함수를 두번쓰면 이전 함수는 사라지고 새로운 함수로 덮어쓴다.
////////////////////////////////////////////////////////////////////////////////////////////////////////
26번 함수 리스트,튜플
def func01(a,b,c=99):
print(a,b,c)
func01(10,20,30)#3개던지면
func01(30,40)#2개던지면 뒤에서부터 넣은숫자를 채워준다.
print()
def func02(a,b=88,c=99):#c에서부터 채워들어와야된다.
print(a,b,c)
func02(10, 20, 30) # 3개던지면
func02(30, 40) # 2개던지면
func02(10) # 1개던지면
print()
# def func03(a,b=88,c):#이렇게는 쓸수없다.
# print(a,b,c)
#
# func05(10,20,30)
def func04(a,b):
return a+b,a-b,a*b#return여러개 가능
func04(3,5)
result = func04(3,5)
print(result)
print()
#result출력 (8, -2, 15) [] =list,()=튜플 //튜플은 데이터갱신x
print(result[0])
print()
# result[0] = 100
#print(result(0)),result(0) = 100#이코드가 안된다
for a in result:
print(a,end=" ")
a = (10,20,30)
b = list(a)#튜플a를 리스트형으로 변환시켜준다.
print(0)
print(a,b)
print(type(a))
print(type(b))
////////////////////////////////////////////////////////////////////////////////////////////////////////
27번 파일입출력 기본형태
fw = open("sample100.txt",'w',encoding="UTF-8")# write 실행두번시 기존파일삭제후 새로만들어짐//(파일명,w)
#utf-8해야 한글나옴
#코드는 open과 close 중간에 들어간다.
fw.write("호랑이");#경로에 파일생성됨
fw.close()
////////////////////////////////////////////////////////////////////////////////////////////////////////
28번 파일 생성
fw = open("sample100.txt",'w',encoding="UTF-8")# write 실행두번시 기존파일삭제후 새로만들어짐//(파일명,w)
#utf-8해야 한글나옴
#코드는 open과 close 중간에 들어간다.
fw.write("호랑이\n")#경로에 파일생성됨
for a in range(10):
fw.write(str(a))
fw.write("코끼리")
fw.close()
////////////////////////////////////////////////////////////////////////////////////////////////////////
29번 파일 쓰기write
fw = open("sample100.txt",'w',encoding="UTF-8")# write 실행두번시 기존파일삭제후 새로만들어짐//(파일명,w)
#utf-8해야 한글나옴
#코드는 open과 close 중간에 들어간다.
fw.write("호랑이\n")#경로에 파일생성됨
for a in range(10):
fw.write("5 * %d = %d\n" %(a,a*5))
fw.write("코끼리")
fw.close()
////////////////////////////////////////////////////////////////////////////////////////////////////////
30번 국영수 뽑아내기 리스트, 중복안되게, 중복되게
"""
import random
fw = open("sample100.txt",'w',encoding="UTF-8")
print("숫자입력")
c=int(input())
fw.write("국어,영어,수학\n")
for a in range(0,c):
a = random.sample(range(100), 3)
fw.write(str(a))
fw.write('\n')
fw.close()
"""
"""
#방법1
import random
fw = open("sample100.txt",'w',encoding="UTF-8")
fw.write('국어'+'영어'+'수학\n')
for a in range(5):
jumsu = random.sample(range(101), 3)
# print(jumsu)# [43, 98, 66] list로 대괄호 나옴
output = ("%d,%d,%d\n"%(jumsu[0],jumsu[1],jumsu[2]))
print(output,end="")
fw.write(output)
fw.close()#이건 데이터가 중복되지않음.
"""
#방법2 중복된데이터를 뽑아낼수있다.
import random
fw = open("sample100.txt",'w',encoding="UTF-8")
for a in range(5):
a = random.randrange(101)
b = random.randrange(101)
c = random.randrange(101)
# a = random.choice(range(101)) #range없이 randrange로 더 편하게 쓸수 있다.
# b = random.choice(range(101))
# c = random.choice(range(101))
print(a,b,c)
output = ("%d,%d,%d\n"%(a,b,c))
print(output,end="")
fw.write(output)
fw.close()#콤마가 많은것 자료를 .csv라고 한다 콤마 세퍼레이터 밸류
////////////////////////////////////////////////////////////////////////////////////////////////////////
31번 파일읽기 read
fr = open("sample100.txt",'r',encoding="UTF-8")
#잘안쓴다.
"""
while True:
line = fr.readline()
if not line:
break
print(line,end="")
"""
li=fr.readlines()
print(li)#리스트로 받아들임
fr.close()#이미 읽어들여서 밑에 적어도 상관없음
for a in li:
print(a,end="")
print()
fr = open("sample100.txt", 'r', encoding="UTF-8")
s=fr.read()
print(s)
fr.close()
////////////////////////////////////////////////////////////////////////////////////////////////////////
32번 클래스
class Tiger:
a=10
b=20 #멤버 객체
def __init__(self):#생성자 객체가 생성될때 자동으로 call됨
print("호랑이")
def func01(self):#클래스 안에서 함수만들때는 ()안에 self들어가야됨
print("함수1번")
def func02(self,x,y):
a=x;
b=y;
print(a,b)
def show(self):
print(self.a,self.b)#java this가 self로 쓰임
t1 = Tiger() #Tiger 생성자
t1.func01() #함수출력
t1 = Tiger()
t1.func02(10,20)
# t1.Tiger()
# t1.show(t1)#self던질때
# t1.show
class Lion:
pass#나중에 쓰기 위해 현재 오류를 없애는 것 pass
t2=Lion()
print(id(t2))
class Animal:
def func01(self):
print("부모의함수1번")
def func03(self):
print("부모의함수3번")
class Dog(Animal):#animal에 상속
def func02(self):
print("자식의 함수2번콜")
def func03(self):
print("자식의함수3번")
print()
dog = Dog()
dog.func01()
dog.func02()
dog.func03()
#다형성쓰는 이유 type이 다르기 때문에 java에서 썻었다.
////////////////////////////////////////////////////////////////////////////////////////////////////////
33번
class A:
def func01(self):
print("A")
class B(A):
def func01(self):
print("B")
class C(A):
def func01(self):
print("C")
def run(t):
t.func01()#어느 클래스를 쓸지몰라서 미리보기가 안나옴
a= A()
b= B()
run(a)
run(b)
run(C())
print()
p1 = [a,b,C()]
p1[0].func01()
p1[1].func01()
p1[2].func01()
print()
for a in p1:
a.func01()
////////////////////////////////////////////////////////////////////////////////////////////////////////
34번
Hello02.py
#내장함수
print(abs(5))
print(abs(-5))#절대값
print(chr(97))
a=divmod(11,3)#몫과 나머지를 보여준다. 튜플로 보여줌
print(a)
a = "1+2"
print(a)
print(eval(a))#eval 파이썬 문법으로 인식하고 실행한값을 출력
b="print(100)"
print(b)
eval(b)#이런식으로 쓴다.
import webbrowser
webbrowser.open("http://naver.com")
Hello01.py
# import Tiger#new - 파이썬파일에서 함수만들걸 쓸수있다.
# Tiger.func01()
from Tiger import * #이제 Tiger안붙여도 쓸수있다. Tiger안의 모든함수를 import해서 쓰겠다.
func01()#함수 Tiger를 다 돌리려고 하는 의도는 없었다.
print(__name__)#지금 실행하는 파일이 main인지 알려줌
"""
100
200
300
400
Tiger -> import받아오는곳을 알려줌
함수1번콜
__main__
"""
if __name__ == "__main__":
from Tiger import * # 이제 Tiger안붙여도 쓸수있다. Tiger안의 모든함수를 import해서 쓰겠다.
func01()
# import ent.Lion
# ent.Lion.func02()
from ent.Lion import *#package를 끌어오는법 -> new -> directory
func02()
ent - Lion.py
def func02():
print("함수2번콜")
Tiger.py
def func01():
print("함수1번콜")
if __name__ == "__main__":
print(100)
print(200)
print(300)
print(400)
print(__name__)
'비트 장기 > 파이썬' 카테고리의 다른 글
8/29 (0) | 2018.08.29 |
---|---|
8/28 크롤링 api긁어오기 (0) | 2018.08.28 |
파이썬 문제복습 4번~13번 (0) | 2018.08.28 |
8/27 api 검색어 긁어오기 (0) | 2018.08.27 |
8/24 14번~(update, delete, random, reverse, sort, lsit, )1764378103 (0) | 2018.08.24 |
댓글