[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}원')
- 사용자는 음료를 선택할 수 있습니다.
사용자에게 어떤 음료를 살 것인지를 입력받습니다.
목록에 없는 음료일 경우 실행이 종료됩니다.
order = input("구매할 제품을 입력해주세요.")
if order in menu.keys():
print(f"{order}로 입력하셨습니다.")
else:
print("해당 음료는 메뉴에 없습니다.")
raise SystemExit
- 사용자는 지불할 금액을 입력할 수 있습니다.
사용자에게 얼마를 넣을지 입력받습니다.
지불하는 금액이 선택한 음료의 비용보다 작다면 “돈이 부족합니다.” 를 출력합니다.
pay = int(input("금액을 넣어주세요."))
if pay < menu[order]:
print("넣은 돈이 부족합니다.")
else:
print("구매가 완료되었습니다.")
- 사용자는 음료를 구매하고 남은 잔액을 확인할 수 있습니다.
잔액을 화면에 표시합니다.
change = pay - menu[order]
if change > 0:
print(f"잔액은 {change}원 입니다.")
else:
print("거스름돈은 없습니다.")
[Python 과제] Lv3. 단어 맞추기 게임
- 컴퓨터가 랜덤으로 영어단어를 선택합니다.
영어단어의 자리수를 알려줍니다.
ex ) PICTURE = 7자리- 사용자는 A 부터 Z 까지의 알파벳 중에서 하나를 선택합니다.
맞출 경우 해당 알파벳이 들어간 자리를 전부 보여줍니다.
틀릴 경우 목숨이 하나 줄어듭니다.- 사용자가 9번 틀리면 게임오버됩니다.
- 게임오버 되기 전에 영어단어의 모든 자리를 알아내면 플레이어의 승리입니다.
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}'입니다!")