In [ ]:
a=0
a
b=2
b
print(a)
print(b)
#정수형 실수형 불리언 문자열
a=0
b=3.14
bool = True
s = "문자열"
s = '문자열'
s = """
a
b
c
"""
# 다중행 주석처리가 없으므로 """을 활용한다.
"""
print(s)
a=2
print(a)
pi = 3.14
"""
if 1<2:
print("참")
nums=[3,5,7]
for n in nums:
print(n)
for i in range(5):
print("range() object를 이용한 for loop",i)
cnt=3
v=0
while v<cnt:
print(v)
v+=1
s="abcd1234"
#문자열의 길이
len(s)
#n번째 글자
s2=str(1)
s2
#자료형 확인
type(s2)
#<shift><tab> 정보확인
s.
#정보확인 함수 가지고 있는 메소드를 확인할수 있다
dir(s)
s.__eq__('hello')
#클레스 정보 확인
help(str)
#키보드 입력된 문자열을 화면에 표시할때 한행에 한문자를 표시하여라
kbd = input("입력")
for i in range(len(kbd)):
print(kbd[i])
# List
#Create
nums = [1,2,3,4,5]
type(nums)
#Read
print(nums[4])
#Update
nums[4]=7
print(nums[4])
#비교 compare
nums[0]>nums[3] #Boolean return
#list를 파라미터롤 사용하는 예 return 으로도 사용가능
import random
#무작위 선택
random.choice(nums)
#0~4 까지 렌덤 <shift><tab> 으로 확인가능
random.randrange(0,5)
random.randint(0,777)
# CRUD (append (), list[n], list[n]=f,
# list.remove[n], list.pop()m list.pop[n], del list[0])
names = ["Neo","Trinity"]
names
names[0]
#한 리스트에 여러자료형이 가능
info = ["a",10]
info
#키보드에서 번호, 이름 전화, 이메일 정보를 입력받아서 리스트에 저장하는 기능
# 이용자가 'x' 키를 누를 때까지 다수 회원정보를 리스트에 저장하고
# 'x' 키를 누르면 리스트에 저장된 모든 데이터 출력
# 빈 리스트 a=[]
memberList=[]
while True:
num = input("번호")
name = input("이름")
phone = input("전화")
email = input("email")
member = [num,name,phone,email]
print(member,"를 추가합니다.")
memberList.append(member)
cmd=input("계속할까요? x를 누르면 종료 됩니다")
if cmd=="x":
for i in range(len(memberList)):
print(member)
break
mems=[]
while True:
uinput= input('번호 이름 전화 이메일:')
if uiinput='x':
print('종료')
break
ulist=uinput.split()
mems.append(ulist)
class Member:
#초기자 init self=this
def __init__(self,num,name,phone,email):
self.num=num
self.name=name
self.phone=phone
self.email=email
#toSting
def __str__(self):
return f'{self.num}\t{self.name}\t{self.phone}\t{self.email}'
'''
m = Member(1,"Neo", '213-000-0001','neo@matrix.com')
strMem = m.__str__()
print(strMem)
print(m)
print(m.phone)
'''
#Member 클래스를 사용하여 위의 코드를 변경해보고 리스트에 저장된 모든 Memver정보를
# 화면에 표시해 보세요
mems=[]
while True:
uinput=input('번호 이름 전화 이메일:')
if uinput=='x':
print('종료')
break
ulist=uinput.split()
mems.append(Member(ulist[0],ulist[1],ulist[2],ulist[3]))
for i in range(len(mems)):
print(mems[i])
testList=[11,"oracle","213.999.9999","oracle@matrix.com"]
testList
num=testList[0]
email=testList[3]
[num,name,phone,email]=testList
print(num,email)
mems=[]
while True:
uinput=input('번호 이름 전화 이메일:')
if uinput=='x':
print('종료')
break
[num,name,phone,email]=uinput.split()
mems.append(Member(num,name,phone,email))
for i in range(len(mems)):
print(mems[i])
# 주사위 시뮬레이션 예재 작성
# 주사위(Die) 2개를 굴려서(roll) 동시에 동일한 수가 나오는 확률을 표시한다.
# 이용자에게 주사위를 몇회 굴릴것인지를 물어서
# 총 시도 횟수에 대한 동일 수가 나오는 비율을 백분율로 표시해보세요
import random
class Dice:
def roll(self):
return random.randrange(1,7)
dice1=Dice()
dice2=Dice()
cnt=int(input("주사위를 몇회 굴릴까요?:"))
matchCnt=0
for _ in range(cnt):
if dice1.roll()==dice2.roll():
matchCnt+=1b
percentage=(matchCnt/cnt)*100
f'주사위를 {cnt}번 굴려서 동일 수가 나온 경우 ={percentage}%'
list의 메소드들¶
- 추가: list.append(value)
- 삽입: list.insert(value, key)
- 수정: list[key]=value
- 제거: list.pop <-맨 뒤의 값 제거 list.pop(index) <-index로 지정한 원소 제거 list.remove(value) <- index로 지정한 값을 찾아 제거 ** del list[index] <- 지정한 값을 찾아 제거
- list.reverse() <- 원소의 순서 뒤집기
- list.sort() <- 오름차순으로 정렬
# 사뤈정보 입력, 출력, 수정 삭제
# 목록(s), 추가(a), 검색(f), 수정(u), 삭제(d),종료(x)
mems=[]
while True:
print("메뉴를 선택하쇼")
cmd=input("목록(s), 추가(a), 검색(f), 수정(u), 삭제(d),종료(x) :")
if cmd=='s':
for i in range(len(mems)):
print(mems[i])
if cmd=='a':
[num,name,phone,email]=input("번호 이름 전화 이메일").split()
mems.append(Member(num,name,phone,email))
print("입력완료")
if cmd=='f':
keyword = input("검색할 이름을 입력하세요")
name=''
for i in range(len(mems)):
if mems[i].name==keyword:
print(mems[i])
if cmd=='u':
keyword = input("수정할 회원의 이름을 입력하세요")
name=''
for i in range(len(mems)):
if mems[i].name==keyword:
print(mems[i])
if input("회원을 수정할까요 y/n")=='y':
[num,name,phone,email]=input("번호 이름 전화 이메일").split()
mems[i]=Member(num,name,phone,email)
print("수정완료")
else:
pass
if cmd=='d':
keyword = input("삭제할 이름을 입력하세요")
name=''
for i in range(len(mems)):
if mems[i].name==keyword:
mems.pop(i)
print("삭제완료")
if cmd=='x':
print("프로그램 종료")
break
class Emp:
def __init__(self,num,name,dept=None,sal=None):
self.num=num
self.name=name
self.dept=dept
self.sal=sal
def __eq__(self,otherEmp):
return (self.num==otherEmp.num) and (self.name==otherEmp.name)
def __str__(self):
return f'{self.num}\t{self.name}\t{self.dept}\t{self.sal}'
empList=[]
def printList():
for e in empList:
print(e)
def find():
strInfo=input('검색할 사원번호: 이름:')
[num,name]=strInfo.split()
findEmp = Emp(num,name)
for e in empList:
if (e.__eq__(findEmp)):
print(e)
return True
return False
def add():
eInfo=input('사원번호 이름 부서 급여:')
[num,name,dept,sal]=eInfo.split()
newEmp=Emp(num,name,dept,sal)
empList.append(newEmp)
print("새 사원전보 추가 성공...")
# 수정대상 번호, 이름, 새부서, 새급여 : 누구를 수정할 것인가?
# 사원정보 리스트에서 검색
# 검색된 대상의 부서, 급여갱신
def update():
updateInfo=input('사원번호 이름 새부서 새금여:')
[num,name,newDept,newSal]=updateInfo.split()
updateEmp = Emp(num,name,newDept,newSal)
for e in empList:
if e.__eq__(updateEmp):
e.dept=update.dept
e.sal=update.sal
print('수정성공')
return True
return False
'''
strInfo=input('검색할 사원번호: 이름:')
[num,name]=strInfo.split()
findEmp = Emp(num,name)
for e in empList:
emp=e
if (e.num==findEmp.num) and (e.name==findEmp.name):
newInput=input("새로운 정보 부서 급여:")
[dept,sal]=newInput.split()
updateEmp=Emp(findEmp.num,findEmp.name,dept,sal)
print("수정전 내용",e)
print("업데이트내용",updateEmp)
emp=updateEmp
print("회원정보 수정완료")
return True
return False
'''
def delete(): #삭제대상: 번호 이름ㅇ르 키보으에서 입력닫는다
deleteInfo=input('삭제할 사원:사원번호 이름')
[num,name]=deleteInfo.split()
delEmp = Emp(num,name)
empList.remove(delEmp)
# 사원정보 입력, 출력, 수정 삭제
# 목록(s), 추가(a), 검색(f), 수정(u), 삭제(d),종료(x)
while True:
uMenu=input('목록(s), 추가(a), 검색(f), 수정(u), 삭제(d),종료(x)')
if uMenu=='s':
printList()
elif uMenu=='a':
add()
elif uMenu=='f':
find()
elif uMenu=='u':
update()
elif uMenu=='d':
delete()
elif uMenu=='x':
break
print("프로그램 종료")
a=0
a
b=2
b
print(a)
print(b)
#정수형 실수형 불리언 문자열
a=0
b=3.14
bool = True
s = "문자열"
s = '문자열'
s = """
a
b
c
"""
# 다중행 주석처리가 없으므로 """을 활용한다.
"""
print(s)
a=2
print(a)
pi = 3.14
"""
if 1<2:
print("참")
nums=[3,5,7]
for n in nums:
print(n)
for i in range(5):
print("range() object를 이용한 for loop",i)
cnt=3
v=0
while v<cnt:
print(v)
v+=1
s="abcd1234"
#문자열의 길이
len(s)
#n번째 글자
s2=str(1)
s2
#자료형 확인
type(s2)
#<shift><tab> 정보확인
s.
#정보확인 함수 가지고 있는 메소드를 확인할수 있다
dir(s)
s.__eq__('hello')
#클레스 정보 확인
help(str)
#키보드 입력된 문자열을 화면에 표시할때 한행에 한문자를 표시하여라
kbd = input("입력")
for i in range(len(kbd)):
print(kbd[i])
# List
#Create
nums = [1,2,3,4,5]
type(nums)
#Read
print(nums[4])
#Update
nums[4]=7
print(nums[4])
#비교 compare
nums[0]>nums[3] #Boolean return
#list를 파라미터롤 사용하는 예 return 으로도 사용가능
import random
#무작위 선택
random.choice(nums)
#0~4 까지 렌덤 <shift><tab> 으로 확인가능
random.randrange(0,5)
random.randint(0,777)
# CRUD (append (), list[n], list[n]=f,
# list.remove[n], list.pop()m list.pop[n], del list[0])
names = ["Neo","Trinity"]
names
names[0]
#한 리스트에 여러자료형이 가능
info = ["a",10]
info
#키보드에서 번호, 이름 전화, 이메일 정보를 입력받아서 리스트에 저장하는 기능
# 이용자가 'x' 키를 누를 때까지 다수 회원정보를 리스트에 저장하고
# 'x' 키를 누르면 리스트에 저장된 모든 데이터 출력
# 빈 리스트 a=[]
memberList=[]
while True:
num = input("번호")
name = input("이름")
phone = input("전화")
email = input("email")
member = [num,name,phone,email]
print(member,"를 추가합니다.")
memberList.append(member)
cmd=input("계속할까요? x를 누르면 종료 됩니다")
if cmd=="x":
for i in range(len(memberList)):
print(member)
break
mems=[]
while True:
uinput= input('번호 이름 전화 이메일:')
if uiinput='x':
print('종료')
break
ulist=uinput.split()
mems.append(ulist)
class Member:
#초기자 init self=this
def __init__(self,num,name,phone,email):
self.num=num
self.name=name
self.phone=phone
self.email=email
#toSting
def __str__(self):
return f'{self.num}\t{self.name}\t{self.phone}\t{self.email}'
'''
m = Member(1,"Neo", '213-000-0001','neo@matrix.com')
strMem = m.__str__()
print(strMem)
print(m)
print(m.phone)
'''
#Member 클래스를 사용하여 위의 코드를 변경해보고 리스트에 저장된 모든 Memver정보를
# 화면에 표시해 보세요
mems=[]
while True:
uinput=input('번호 이름 전화 이메일:')
if uinput=='x':
print('종료')
break
ulist=uinput.split()
mems.append(Member(ulist[0],ulist[1],ulist[2],ulist[3]))
for i in range(len(mems)):
print(mems[i])
testList=[11,"oracle","213.999.9999","oracle@matrix.com"]
testList
num=testList[0]
email=testList[3]
[num,name,phone,email]=testList
print(num,email)
mems=[]
while True:
uinput=input('번호 이름 전화 이메일:')
if uinput=='x':
print('종료')
break
[num,name,phone,email]=uinput.split()
mems.append(Member(num,name,phone,email))
for i in range(len(mems)):
print(mems[i])
# 주사위 시뮬레이션 예재 작성
# 주사위(Die) 2개를 굴려서(roll) 동시에 동일한 수가 나오는 확률을 표시한다.
# 이용자에게 주사위를 몇회 굴릴것인지를 물어서
# 총 시도 횟수에 대한 동일 수가 나오는 비율을 백분율로 표시해보세요
import random
class Dice:
def roll(self):
return random.randrange(1,7)
dice1=Dice()
dice2=Dice()
cnt=int(input("주사위를 몇회 굴릴까요?:"))
matchCnt=0
for _ in range(cnt):
if dice1.roll()==dice2.roll():
matchCnt+=1b
percentage=(matchCnt/cnt)*100
f'주사위를 {cnt}번 굴려서 동일 수가 나온 경우 ={percentage}%'
### list의 메소드들
* 추가: list.append(value)
* 삽입: list.insert(value, key)
* 수정: list[key]=value
* 제거: list.pop <-맨 뒤의 값 제거
** list.pop(index) <-index로 지정한 원소 제거
** list.remove(value) <- index로 지정한 값을 찾아 제거
** del list[index] <- 지정한 값을 찾아 제거
* list.reverse() <- 원소의 순서 뒤집기
* list.sort() <- 오름차순으로 정렬
# 사뤈정보 입력, 출력, 수정 삭제
# 목록(s), 추가(a), 검색(f), 수정(u), 삭제(d),종료(x)
mems=[]
while True:
print("메뉴를 선택하쇼")
cmd=input("목록(s), 추가(a), 검색(f), 수정(u), 삭제(d),종료(x) :")
if cmd=='s':
for i in range(len(mems)):
print(mems[i])
if cmd=='a':
[num,name,phone,email]=input("번호 이름 전화 이메일").split()
newMember=Member(num,name,phone,email)
mems.append(newMember)
print("입력완료")
if cmd=='f':
keyword = input("검색할 이름을 입력하세요")
name=''
for i in range(len(mems)):
if mems[i].name==keyword:
print(mems[i])
if cmd=='u':
keyword = input("수정할 회원의 이름을 입력하세요")
name=''
for i in range(len(mems)):
if mems[i].name==keyword:
print(mems[i])
if input("회원을 수정할까요 y/n")=='y':
[num,name,phone,email]=input("번호 이름 전화 이메일").split()
mems[i]=Member(num,name,phone,email)
print("수정완료")
else:
pass
if cmd=='d':
keyword = input("삭제할 이름을 입력하세요")
name=''
for i in range(len(mems)):
if mems[i].name==keyword:
mems.pop(i)
print("삭제완료")
if cmd=='x':
print("프로그램 종료")
break
class Emp:
def __init__(self,num,name,dept=None,sal=None):
self.num=num
self.name=name
self.dept=dept
self.sal=sal
def __eq__(self,otherEmp):
return (self.num==otherEmp.num) and (self.name==otherEmp.name)
def __str__(self):
return f'{self.num}\t{self.name}\t{self.dept}\t{self.sal}'
empList=[]
def printList():
for e in empList:
print(e)
def find():
strInfo=input('검색할 사원번호: 이름:')
[num,name]=strInfo.split()
findEmp = Emp(num,name)
for e in empList:
if (e.__eq__(findEmp)):
print(e)
return True
return False
def add():
eInfo=input('사원번호 이름 부서 급여:')
[num,name,dept,sal]=eInfo.split()
newEmp=Emp(num,name,dept,sal)
empList.append(newEmp)
print("새 사원전보 추가 성공...")
# 수정대상 번호, 이름, 새부서, 새급여 : 누구를 수정할 것인가?
# 사원정보 리스트에서 검색
# 검색된 대상의 부서, 급여갱신
def update():
updateInfo=input('사원번호 이름 새부서 새금여:')
[num,name,newDept,newSal]=updateInfo.split()
updateEmp = Emp(num,name,newDept,newSal)
for e in empList:
if e.__eq__(updateEmp):
e.dept=update.dept
e.sal=update.sal
print('수정성공')
return True
return False
'''
strInfo=input('검색할 사원번호: 이름:')
[num,name]=strInfo.split()
findEmp = Emp(num,name)
for e in empList:
emp=e
if (e.num==findEmp.num) and (e.name==findEmp.name):
newInput=input("새로운 정보 부서 급여:")
[dept,sal]=newInput.split()
updateEmp=Emp(findEmp.num,findEmp.name,dept,sal)
print("수정전 내용",e)
print("업데이트내용",updateEmp)
emp=updateEmp
print("회원정보 수정완료")
return True
return False
'''
def delete(): #삭제대상: 번호 이름ㅇ르 키보으에서 입력닫는다
deleteInfo=input('삭제할 사원:사원번호 이름')
[num,name]=deleteInfo.split()
delEmp = Emp(num,name)
empList.remove(delEmp)
# 사뤈정보 입력, 출력, 수정 삭제
# 목록(s), 추가(a), 검색(f), 수정(u), 삭제(d),종료(x)
while True:
uMenu=input('목록(s), 추가(a), 검색(f), 수정(u), 삭제(d),종료(x)')
if uMenu=='s':
printList()
elif uMenu=='a':
add()
elif uMenu=='f':
find()
elif uMenu=='u':
update()
elif uMenu=='d':
delete()
elif uMenu=='x':
break
print("프로그램 종료")
'자바~하둡' 카테고리의 다른 글
python) File IO _CRUD (0) | 2022.02.23 |
---|---|
python) List Tuple Set Dictionary 클레스 File IO (0) | 2022.02.22 |
python) 마크다운, 자료형, 연산자, 형변환, 제어문, 모듈, 튜플, 예외처리,Sliceing (feat. jupyter notebook) (0) | 2022.02.20 |
<dependency> JPA프레임워크& Pageable (0) | 2022.02.15 |
맥에서 오라클클라우드(OIS) ssh 접속 (0) | 2022.02.10 |