본문 바로가기

Study/PYTHON

[나도코딩] 파이썬 강의_퀴즈5

[내가 쓴 코딩]

from random import *

for customer in range(1,51):
    customer_minuit = randrange(5, 51)
    if 5 <= customer_minuit <= 15 :
        print("[O]"+str(customer) + "번째 손님 (소요시간 :"+str(customer_minuit)+"분)")
    elif customer_minuit > 15:
        print("[ ]"+str(customer)+"번째 손님 (소요시간 :" +str(customer_minuit)+"분)")

print("총 탑승 승객 : "+str(count("[O]"))+"분")

 

[에러 문구]

File "c:\Users\ejcej\Desktop\python tutorial\practice.py", line 25, in <module>
    print("총 탑승 승객 : "+str(count("[O]"))+"분")
NameError: name 'count' is not defined. Did you mean: 'round'?

 

[나도 코딩이 쓴 코드]

from random import *
cnt = 0 # 총 탑승 승객 수
for i in range(1, 51): #1~50이라는 수 = 승객
	time = randrange(5, 51) # 5분~50분 소요 시간
    if 5 <= time <= 15: #5분~15분 이내 손님, 탑승 승객 수 증가 처리
    	print("[O] {0}번째 손님 (소요시간 : {1}분)".format(i, time))
        cnt += 1
    else : # 승객 매칭 실패
    	print("[ ] {0}번째 손님 (소요시간 : {1}분)".format(i, time))
        
print("총 탑승 승객 : {0}분".format(cnt))

 

[해결]

1. 필요한 변수의 갯수를 미리 파악하여 설정할 것.

2. 변수 네이밍이 짧아야 보기에 편함 > 네이밍 연습

3. 문자를 따로따로 연산하는 것보다 문자열포맷을 이용해서 쓰는 연습 필요

 

[다시 쓴 코드]

from random import *

cnt = 0 
for i in range(1, 51):
    time = randrange(5,51)
    if 5<= time <= 15:
        print("[O] {0}번째 손님 (소요시간 : {1}분".format(i, time))
        cnt += 1
    elif time > 15:
        print("[ ] {0}번째 손님 (소요시간 : {1}분".format(i, time))

print("총 탑승 승객 : {0}분".format(cnt))

 

 

 

 

 

*이 글은 유튜브 나도코딩의 강의를 듣고 작성한 강의노트입니다.*

반응형