#define _CRT_SECURE_NO_WARNINGS
import random
data = {
'senior_junior': {},
'friends': {}
}
chat_responses = [
"반가워요!",
"어떻게 지내세요?",
"친해져서 좋아요!",
"지금 뭐하고 계세요?",
"오늘 하루 어땠어요?",
"언제 한번 만나요!"
]
def generate_fake_people(kind, major, exclude_sid):
fake_data = {}
for i in range(3):
fake_sid = f"{random.randint(10000000, 99999999)}"
if fake_sid == exclude_sid:
continue
name = f"{'선배' if kind == 'senior_junior' else '친구'}{i+1}"
gender = random.choice(['남', '여'])
age = random.randint(24, 30) if kind == 'senior_junior' else random.randint(20, 23)
entry = {'name': name, 'major': major, 'gender': gender, 'age': age}
fake_data[fake_sid] = entry
return fake_data
def chat_with(name):
print(f"\n{name}와의 채팅을 시작합니다. '종료'를 입력하면 끝납니다.")
while True:
msg = input("나: ")
if msg.lower() == "종료":
break
response = random.choice(chat_responses)
print(f"{name}: {response}")
def show_people(people):
if not people:
print("해당 학과에 등록된 사람이 없습니다.")
return None
print("\n[연락 가능한 사람 목록]")
sid_list = list(people.keys())
for i, sid in enumerate(sid_list):
info = people[sid]
print(f"{i+1}. {info['name']} (학과: {info['major']}, 나이: {info['age']}, 성별: {info['gender']})")
choice = input("연락할 사람 번호 선택 (엔터로 취소): ")
if not choice.isdigit():
return None
idx = int(choice) - 1
if 0 <= idx < len(sid_list):
chat_with(people[sid_list[idx]]['name'])
def register():
print("회원 등록을 시작합니다.")
name = input("이름: ")
sid = input("학번: ")
age = int(input("나이 (20세 이상만 가능): "))
if age < 20:
print("20세 이상만 등록할 수 있습니다.")
return None
gender = input("성별 (남/여): ")
major = input("학과: ")
info = {'name': name, 'major': major, 'gender': gender, 'age': age}
if age >= 24:
data['senior_junior'][sid] = info
else:
data['friends'][sid] = info
print(f"{name}님 등록이 완료되었습니다!\n")
return sid
def main():
print("🎓 대학친구업데이트! 🎓")
start = input("회원 등록을 하시겠습니까? (y/n): ")
if start.lower() != 'y':
print("종료합니다.")
return
user_sid = register()
if not user_sid:
return
while True:
print("\n[메뉴]")
print("1. 선후배 찾기")
print("2. 친구 찾기")
print("3. 종료")
menu = input("선택: ")
if menu == '1':
target_sid = input("찾을 학번 입력: ")
major = input("찾을 학과 입력: ")
found = {k: v for k, v in data['senior_junior'].items() if v['major'] == major and k != target_sid}
fake = generate_fake_people('senior_junior', major, target_sid)
found.update(fake)
show_people(found)
elif menu == '2':
target_sid = input("찾을 학번 입력: ")
major = input("찾을 학과 입력: ")
found = {k: v for k, v in data['friends'].items() if v['major'] == major and k != target_sid}
fake = generate_fake_people('friends', major, target_sid)
found.update(fake)
show_people(found)
elif menu == '3':
print("이용해 주셔서 감사합니다.")
break
else:
print("잘못된 선택입니다.")
main()