: 3x3x3=27개 랜덤한 닉네임 중 하나를 무작위로 생성
코딩 전 구상
(1) 각각 3개의 키워드가 들어있는 3개의 리스트를 생성
(2) random.randrange() 함수를 통해 각각 리스트에서 무작위 키워드를 추출
(3) 추출된 키워드를 하나의 string으로 병합
import random
name_list_1 = ['기절초풍', '멋있는', '재미있는']
name_list_2 = ['도전적인', '노란색의', '바보같은']
name_list_3 = ['돌고래', '개발자', '오랑우탄']
def create_nickname():
#각 리스트의 인덱스 값으로 사용할 무작위 정수 생성
#인덱스는 0부터 시작이므로 생성된 정수에 -1을 적용
rnd_1 = random.randrange(1, 4) - 1
rnd_2 = random.randrange(1, 4) - 1
rnd_3 = random.randrange(1, 4) - 1
full_name = list()
#각 리스트에 무작위 정수를 적용해 요소를 추출하고 이를 full_name 리스트에 추가
full_name.append(name_list_1[rnd_1])
full_name.append(name_list_2[rnd_2])
full_name.append(name_list_3[rnd_3])
nick_name = ''
#full_name은 리스트니까 값들을 하나의 string으로 변환
for i in full_name:
nick_name += i
nick_name += ' '
return nick_name
my_nickname = create_nickname()
print(my_nickname)
# 기존 lv1 문제와 동일하지만 닉네임에 사용할 키워드를 직접 입력하여 사용
import random
def make_list():
first_list = list()
second_list = list()
third_list = list()
x1 = ''
x2 = ''
x3 = ''
while True:
x1 = input('첫번째 키워드 후보를 입력하세요 (0을 입력하면 넘어갑니다): ')
if x1 == '0':
if len(first_list) == 0:
# 사용자가 바로 0을 입력하여 키워드가 존재하지 않는 경우 방지
print('적어도 1개의 키워드가 포함되어야 합니다.')
continue
else:
break
else:
first_list.append(x1)
print()
while True:
x2 = input('두번째 키워드 후보를 입력하세요 (0을 입력하면 넘어갑니다): ')
if x2 == '0':
if len(second_list) == 0:
print('적어도 1개의 키워드가 포함되어야 합니다.')
continue
else:
break
else:
second_list.append(x2)
print()
while True:
x3 = input('세번째 키워드 후보를 입력하세요 (0을 입력하면 넘어갑니다): ')
if x3 == '0':
if len(third_list) == 0:
print('적어도 1개의 키워드가 포함되어야 합니다.')
continue
else:
break
else:
third_list.append(x3)
print()
return first_list, second_list, third_list
def create_nickname(name_list_1, name_list_2, name_list_3):
#range 함수는 (start, end+1)의 수치를 입력해주어야 함
rnd_1 = random.randrange(1, len(name_list_1)+1) - 1
rnd_2 = random.randrange(1, len(name_list_2)+1) - 1
rnd_3 = random.randrange(1, len(name_list_3)+1) - 1
full_name = list()
full_name.append(name_list_1[rnd_1])
full_name.append(name_list_2[rnd_2])
full_name.append(name_list_3[rnd_3])
nick_name = ''
for i in full_name:
nick_name += i
nick_name += ' '
#마지막에 추가된 공백 제거하기 위함
nick_name = nick_name[:-1]
return nick_name
name_list = make_list()
new_nickname = create_nickname(name_list[0], name_list[1], name_list[2])
print(f"당신의 닉네임은 '{new_nickname}'입니다.")
