[TIL]_2025.02.17 본캠프 1일차 (3)

JIYUU·2025년 2월 17일

[Python 과제] Lv1. 랜덤 닉네임 생성기

랜덤한 닉네임을 생성하는 파이썬 코드를 작성해보세요. 사용자는 최소 27가지 이상의 닉네임 중 하나를 랜덤으로 print 할 수 있습니다.(아래의 키워드를 사용해주세요!)

  • 기절초풍, 멋있는, 재미있는
  • 도전적인, 노란색의, 바보같은
  • 돌고래, 개발자, 오랑우탄
  • 내가 작성한 답
import random

nick_parts = [
    ['기절초풍', '멋있는', '재미있는'],  # 첫 번째 부분
    ['도전적인', '노란색의', '바보같은'],  # 두 번째 부분
    ['돌고래', '개발자', '오랑우탄']   # 세 번째 부분
]

random_nickname = ' '.join(random.choice(part) for part in nick_parts)

print(random_nickname)
  • 힌트를 참고한 답
import random
nick_part1 = ["기절초풍", "멋있는", "재미있는"]
nick_part2 = ["도전적인", "노란색의", "바보같은"]
nick_part3 = ["돌고래", "개발자", "오랑우탄"]

def create_random_nickname():
    first = random.choice(nick_part1)
    second = random.choice(nick_part2)
    third = random.choice(nick_part3)
    return f'{first} {second} {third}'

my_nickname = create_random_nickname()
print(my_nickname)

[Python 과제] Lv2. 스파르타 자판기

파이썬 코드를 이용해 자판기를 만들어 봅시다.
1. 사용자가 볼 수 있게 다음과 같은 메뉴를 표시합니다.

  • 사이다 1,700원
  • 콜라 1,900원
  • 식혜 2,500원
  • 솔의눈 3,000원
menu = {'사이다' : 1700, '콜라' : 1900, '식혜' : 2500, '솔의눈' : 3000}
for beverage_name, price in menu.items():
    print(f'{beverage_name} {price}원')
  1. 사용자는 음료를 선택할 수 있습니다.
    사용자에게 어떤 음료를 살 것인지를 입력받습니다.
    목록에 없는 음료일 경우 실행이 종료됩니다.
order = input("구매할 제품을 입력해주세요.")
if order in menu.keys():
    print(f"{order}로 입력하셨습니다.")
else:
	print("해당 음료는 메뉴에 없습니다.")
    raise SystemExit
  1. 사용자는 지불할 금액을 입력할 수 있습니다.
    사용자에게 얼마를 넣을지 입력받습니다.
    지불하는 금액이 선택한 음료의 비용보다 작다면 “돈이 부족합니다.” 를 출력합니다.
pay = int(input("금액을 넣어주세요."))

if pay < menu[order]:
    print("넣은 돈이 부족합니다.")
else:
    print("구매가 완료되었습니다.")
  1. 사용자는 음료를 구매하고 남은 잔액을 확인할 수 있습니다.
    잔액을 화면에 표시합니다.
change = pay - menu[order]
if change > 0:
    print(f"잔액은 {change}원 입니다.")
else:
    print("거스름돈은 없습니다.")

[Python 과제] Lv3. 단어 맞추기 게임

  1. 컴퓨터가 랜덤으로 영어단어를 선택합니다.
    영어단어의 자리수를 알려줍니다.
    ex ) PICTURE = 7자리
  2. 사용자는 A 부터 Z 까지의 알파벳 중에서 하나를 선택합니다.
    맞출 경우 해당 알파벳이 들어간 자리를 전부 보여줍니다.
    틀릴 경우 목숨이 하나 줄어듭니다.
  3. 사용자가 9번 틀리면 게임오버됩니다.
  4. 게임오버 되기 전에 영어단어의 모든 자리를 알아내면 플레이어의 승리입니다.
import random
words_data = [...]

question = random.choice(words_data) 		# 컴퓨터가 랜덤하게 단어 선택
life = 9 # 시작 목숨 9개
hidden_word = ["_"] * len(question) 		# 단어 철자 수에 따라서 _으로 표시

while life > 0 and "_" in hidden_word: 		# 목숨 남아있고, 단어도 아직 못맞춘 경우,
    answer = input("A부터 Z까지 중 알파벳을 하나 선택하세요.").lower()
    if answer in question:
        for i, char in enumerate(question):		# 반복문에서 인덱스와 값(Values)을 동시에 가져올 때 사용하는 내장 함수
            if char == answer:
                hidden_word[i] = char			# 입력한 정답철자로 업데이트됨
    else:										# 틀렸을 경우,
        life -= 1
        print(f"해당 알파벳은 문제 단어에 존재하지 않습니다.잔여 시도 횟수:{life}")
    
    print(" ".join(hidden_word))				# 매 시도마다 현재 정답 상황을 알려줌 
    
if "_" not in hidden_word:
    print(f"축하합니다! 정답은 '{question}'입니다!")
else:
    print(f"실패!정답은 '{question}'입니다!")

0개의 댓글