파이썬 미니 프로젝트(3)
랜덤 동전
random.choice 활용하기
#선택 리스트
import random
options = ["앞", "뒤"]
print("랜덤 동전입니다. 당신의 선택은?")
select = input("동전의 앞, 뒤를 선택해 주세요. (앞, 뒤) : ")
print("결과는?")
if random.choice(options) == select :
print("와우 맞췄어요.")
else :
print("틀렸어요.")
랜덤 동전입니다. 당신의 선택은?
결과는?
와우 맞췄어요.
랜덤 발표자 뽑기
random.radint 활용하기
# 랜덤 라이브러리 불러오기
import random
class_student_count = int(input("반 학생 수를 입력해 주세요. : "))
# class_number = []
# i = 1
# while i <= class_student_count :
# class_number.append(i)
# i += 1
# print(class_number)
select_number = random.randint(1, class_student_count)
print(f"오늘의 발표자는 {select_number}번 입니다. ")
오늘의 발표자는 16번 입니다.
금융가 룰렛
random.randint 와 len() 활용하기
# 랜덤 라이브러리 불러오기
import random
people_name = input("오늘 식사에 참석한 사람들의 이름을 입력해주세요. (예) 김가을, 김겨울, 김봄 : ").split(",") #","를 기준으로 분리된 값이 리스트로 바로 생성됨
i = random.randint(0, len(people_name)-1) #len()는 문자열이나 리스트의 요소수를 반환함.
choice_result = people_name[i]
# choice_result = random.choice(people_name)
print("오늘의 계산은" + choice_result + "이 담청되었습니다.")
오늘의 계산은 김겨울이 담청되었습니다.
보물 지도
프로그램 1(반복문과 출력문을 이용한 보물 찾기)
- 참고사이트
import random
print("보물지도 게임")
#맵 만들기
map_size = input("만들고 싶은 보물지도 크기를 입력해주세요. 예) 3*3, 4*4, 5*5 : ").split("*")
map_row = int(map_size[0])
map_line = int(map_size[1])
map = []
print("보물 위치를 찾아주세요.")
for i in range(0, map_row+1) : #열 번호 출력
print(str(i)+" " , end="")
print()
for i in range(1, map_line+1) : #아래의 동작을 행 크기만큼 반복
print(i, end="") #행 번호 출력
globals()['row{}'.format(i)] = " ⬜️" * map_row #기호을 열 크기만큼 갯수를 채워 row1, row2 .... 와 같은 동적변수에 입력
map.append(eval('row{}'.format(i))) #map 리스트에 동적 변수(raw)를 입력
print(eval('row{}'.format(i))) #입력된 동적 변수의 값을 출력
#랜덤 보물 숨기기
random_row = random.randint(1, map_row)
random_line = random.randint(1, map_line)
random_location = str(random_row) + str(random_line)
#유저가 보물 위치 선택하기
user_select = input("당신이 생각한 보물의 위치는? 예) 가로 * 세로, 2*3 => 23 : ")
#보물 위치 맞추기
if random_location == user_select :
print("축하합니다. 당신이 보물의 위치를 맞췄어요")
print("보물의 위치는 " + random_location + "입니다.")
else :
print("죄송합니다. 보물의 위치가 틀렸어요. 보물의 위치는 : " + random_location)
print("다시 도전해 보세요.")
보물지도 게임
보물 위치를 찾아주세요.
0 1 2 3 4 5
1 ⬜️ ⬜️ ⬜️ ⬜️ ⬜️
2 ⬜️ ⬜️ ⬜️ ⬜️ ⬜️
3 ⬜️ ⬜️ ⬜️ ⬜️ ⬜️
4 ⬜️ ⬜️ ⬜️ ⬜️ ⬜️
5 ⬜️ ⬜️ ⬜️ ⬜️ ⬜️
죄송합니다. 보물의 위치가 틀렸어요. 보물의 위치는 : 35
다시 도전해 보세요.
프로그램 2(이중 리스트를 이용한 보물 찾기)
- 참고사이트
import random
print("보물지도 게임")
#맵 만들기
map_size = input("만들고 싶은 보물지도 크기를 입력해주세요. 예) 3*3, 4*4, 5*5 : ").split("*")
map_row = int(map_size[0])
map_line = int(map_size[1])
map = []
print("보물 위치를 찾아주세요.")
for i in range(0, map_row+1) : #열 번호 출력
print(str(i)+" " , end="")
print()
for i in range(0, map_line) : #아래의 동작을 행 크기만큼 반복
map_item = []
for k in range(0, map_row) :
map_item.append(" ⬜️")
map.append(map_item)
#맵 출력하기
for index, value in enumerate(map) :
print(index+1, value)
#랜덤 보물 숨기기
random_row = random.randint(1, map_row)
random_line = random.randint(1, map_line)
random_location = str(random_row) + str(random_line)
map[random_line-1][random_row-1] = "💰" #맵에서 보물의 위치를 행과 열의 순서로 리스트 값을 찾아 💰으로 변환
#유저가 보물 위치 선택하기
user_select = input("당신이 생각한 보물의 위치는? 예) 가로 * 세로, 2*3 => 23 : ")
#보물 위치 결과 확인
print()
print("보물 위치를 확인해 보세요.")
for i in range(0, map_row+1) : #열 번호 출력
print(str(i)+" " , end="")
print()
for index, value in enumerate(map) :
print(index+1, value)
if random_location == user_select :
print("축하합니다. 당신이 보물의 위치를 맞췄어요")
print("보물의 위치는 " + random_location + "입니다.")
else :
print("죄송합니다. 보물의 위치가 틀렸어요. 보물의 위치는 : " + random_location)
print("다시 도전해 보세요.")
보물지도 게임
보물 위치를 찾아주세요.
0 1 2 3 4 5 6 7 8 9
1 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
2 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
3 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
4 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
5 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
6 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
7 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
8 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
9 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
보물 위치를 확인해 보세요.
0 1 2 3 4 5 6 7 8 9
1 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
2 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
3 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
4 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
5 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', '💰']
6 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
7 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
8 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
9 [' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️', ' ⬜️']
죄송합니다. 보물의 위치가 틀렸어요. 보물의 위치는 : 95
다시 도전해 보세요.