Chap.7 함수[예제] - 함수 만들기 연습, Number guessing game
함수[예제]
함수 만들기 연습, Number guessing game
함수 만들기 연습
import random start = 1 rng = 6 number = int(random.random()*(rng)) + start
자주 쓰는 동작 함수로 만들기
import random start = 1 rng = 6 def rand(start, rng): number = int(random.random()*(rng)) + start return number number = rand(start,rng) print(number)
Python에서는 이미 만들어진 함수를 변수로 쓸 수 있다.
다만 다시 함수를 이용할 수 없다.
ex) range=10 이후 range(10) X
rand(start, end) 만들기
def rand(start, end): return int(random.random()*(end-start)) + start # 위에서 number는 필요없는 변수
앞으로 시작 함수를 만들자.
def main(): start = 1 end =6 number = rand(start, end) print(number) main()
전역변수를 다 지역변수로 옮긴 것 (전역변수의 사용을 최대한 자제)
랜덤한 숫자 5개 뽑아보기(main함수 내에서)
def main(): start = 1 end =6 for i in range(5): number = rand(start, end) print(number) main()
entry point : 다른 언어의 main 함수와 같음
내 풀이
Number guessing game
import random def main(): com=rand(1, 100) print(com) for i in range(5): print(i+1,'번째 추측값: ', end='') me = int(input()) if i == 4: print("실패했습니다.\n정답은",com) else: if com == me: print("정답입니다.") break elif com < me: print(me, "보다는 작습니다.") else: print(me, "보다는 큽니다.") main()
강사님
Number guessing game
import random def rand(start, end): return int(random.random()*(end-start)) + start def main(): number = rand(1, 100) print(number) for i in range(1, 6): num = int(input(str(i)+ "번째 추측값: ")) result = number - num if result == 0: # 정답 print("정답입니다.") break elif result > 0: print(num, "보다는 큽니다.") else: print(num, "보다는 작습니다.") if result != 0: print('실패했습니다.\n정답은 ', number) main()
result 변수가 사용되어 가독성이 높아졌다. (반성)
정렬이 되어있다면 위 경우는 7번으로 답을 찾을 수 있다.
∵log_2 100 = 6.xxx
40억개 데이터면 32번
'인터페이스 개발 > Python' 카테고리의 다른 글
Python - 문자열 관리[문자열 메서드] - 검색, 조사, 기타 메서드, 변경, 분할, 대체 (0) | 2020.07.25 |
---|---|
Python - 문자열 관리[문자열 분리] - 첨자, 슬라이싱 (0) | 2020.07.25 |
Python - 함수[변수의 범위] - 지역 변수, 전역 변수 (0) | 2020.07.24 |
Python - 함수[인수의 형식] - 가변 인수, 인수의 기본값 (0) | 2020.07.20 |
Python - 함수[함수와 인수] - 반복되는 코드, 인수, 리턴값, pass (0) | 2020.07.20 |
댓글