본문 바로가기
First step/AI 기초반

[TIL]21.06.16

by Joshua21 2021. 6. 23.


#음료 자판기
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