#음료 자판기
menu_num=dict(zip([1,2,3,4,5],['사이다','콜라','생수','주스','커피']))
menu_price=dict(zip(['사이다','콜라','생수','주스','커피'],[1200,1100,700,1500,1300]))
cash={'1':10000,'2':5000,'3':1000,'4':500,'5':100}
nindata = -1
ntotal=0
while nindata !=0:
print(cash)
nindata= input('번호를 입력하세요')
if nindata=='0':
print('종료')
break
ntotal = ntotal + cash[nindata]
print('총 투입금액은',ntotal,'입니다')
menu_price_list=[1200,1100,700,1500,1300]
change = ntotal
while True:
print('Menus')
for i in menu_num:
print(i,'.',menu_num[i],'\t가격:',menu_price_list[i-1])
print()
drink = int(input('메뉴 번호를입력하세요(선택완료:0)'))
if drink == 0:
break
if change >= menu_price_list[drink-1]:
change-=menu_price_list[drink-1]
print(menu_num[drink],'구입완료')
print('잔액:',change)
change_dic = {10000:0,5000:0,1000:0,500:0,100:0}
change2 = change
for i in change_dic:
change_dic[i]=change2//i
change2 = change2%i
for i in change_dic:
if i >=1000:
print(i,'원',change_dic[i],'장')
else:
print(i,'원',change_dic[i],'개')
print('자판기 종료,잔액',change)
#거북이 돌아다니며 찍기
import random
import turtle as t
t.setup(width=800,height=800) # 캔버스크기
rt = t.Turtle('turtle') # 거북이3
gt = t.Turtle('turtle') #거북이2
bt = t.Turtle('turtle') #거북이1
rt.color('red') # 빨강 거북이
gt.color('green') # 초록 거북이
bt.color('blue') # 파랑거북이
rt.speed(10) #이동속도를 좀더 빠르게조정
gt.speed(10)
bt.speed(10)
rt.up()
gt.up()
bt.up()
rt.goto(-100,-100) # 각거북이 초기위치로 보냄
gt.goto(0,0)
bt.goto(100,100)
rtx=rt.xcor() # 각 거북이의 x,y좌표
rty=rt.ycor()
btx=bt.xcor()
bty=bt.ycor()
gtx=gt.xcor()
gty=gt.ycor()
randistan = random.randint(-100,100) #한번 이동하는 랜덤거리
ranangle = random.randint(0,361) #한번 변경되는 각도
while True:
randistan = random.randint(-300,300) #한번 이동하는 랜덤거리
ranangle = random.randint(0,361) #한번 변경되는 각도
rt.forward(randistan)
rt.right(ranangle)
bt.forward(randistan)
bt.right(ranangle)
gt.forward(randistan)
gt.right(ranangle)
if -40<rtx-btx<40 and -40<rty-bty<40 : #+- 5범위내에 만나면 스탬프찍기
t.stamp()
elif -40<rtx-gtx<5 and -5<rty-gty<40 :
t.stamp()
elif -40<btx-gtx<5 and -5<bty-gty<40 :
t.stamp()
elif gtx>400 or gtx<-400 or gty>400 or gty<-400 : #캔버스 크기 초과할경우 원위치로 이동
gt.goto(0,0)
elif btx>400 or btx<-400 or bty>400 or bty<-400 :
bt.goto(100,100)
elif rtx>400 or rtx<-400 or rty>400 or rty<-400 :
rt.goto(-100,-100)
# method 는 객체에 속한 함수를 뜻함
#append 는 리스트도 넣을수있음
a= [10,20,30]
a.append([500,600])
print(a)
#extend는 리스트끝에 다른 리스트를 연결하여 확장함
a= [10,20,30]
a.extend([500,600])
print(a)
#insert는리스트 특정 인덱스에 요소 하나를 추가함
a= [10,20,30]
a.insert(2,500)
print(a)
#insert
a= [10,20,30]
a.insert(1,500)
print(a)
a= [10,20,30]
a[1:1]=(600,500)
print(a)
#pop은 리스트의 마지막 요소를 삭제한뒤 삭제한 요소를 반환
a= [10,20,30]
a.pop()
print(a)
#pop인덱스값 설정시해당 요소를삭제한뒤 반
a= [10,20,30]
a.pop(1) # del a[1] 과 같음
print(a)
#remove 는 특정값을 찾아 삭제여러개일경우 제일처음 찾은 값 삭제
a= [10,20,30,20]
a.remove(20)
print(a)
#스택은 last in first out 접시쌓기
a=[]
for i in range(4):
i+=1
a.append(i*10)
print(a)
for i in range(4):
print(a.pop())
print(a)
#z큐 lasi in last out 줄서기
a=[]
for i in range(4):
i+=1
a.append(i*10)
print(a)
for i in range(4):
print(a.pop(0))
print(a)
#특정 index의 값 구하기
a= [10,20,30,20]
a.index(20)
print(a.index(20))
#리스트안에 20이 위치한 인덱스 표시하기
#내풀이
resurt=[]
a=[10,20,30,40,20,50,20,30,60,70,20]
while 20 in a:
x=a.index(20)
resurt.append(x)
a.insert(a.index(20),'이십')
a.remove(20)
print(resurt)
i=0
result=[]
a=[10,20,30,40,20,50,20,30,60,70,20]
while True:
if 20 in a:
ni = a.index(20)
result.append(ni+i)
print(result)
a.pop(ni)
i+=1
else:
break
print(result)
# 리스트안에 정렬안됨
a=[10,20,30,40,20,50,20,30,60,70,20]
for i in a:
print(a.index(20))
a.pop(a.index(20))
if 20 in a:
a.insert(a.index(20),0)
else:
break
result=[]
a=[10,20,30,40,20,50,20,30,60,70,20]
for i in a:
if i == 20:
result.append(a.index(i))
del a[a.index(i)]
a.insert(0,1)
else:
continue
print(result)
#이건 똑같이 카피했는데도 안됨
result=[]
a=[10,20,30,40,20,50,20,30,60,70,20]
while True:
if 20 in a:
result.append(a.index(20))
a[a.index(20)] = 'x'
else:
break
'''
result=[]
a=[10,20,30,40,20,50,20,30,60,70,20]
for i in range((len(a)):
if i
'First step > AI 기초반' 카테고리의 다른 글
[TIL]21.06.18 (1) | 2021.06.23 |
---|---|
[TIL]21.06.17 (0) | 2021.06.23 |
[TIL]21.06.14 (0) | 2021.06.23 |
[TIL]21.06.11 (0) | 2021.06.23 |
[TIL]21.06.10 (0) | 2021.06.23 |