# 대학 친구 업데이트!👬

[대학 친구 업데이트!](https://tally.so/embed/3NgRXN?alignLeft=1&hideTitle=1&transparentBackground=1&dynamicHeight=1)

[https://slashpage.com/%EC%9C%A4%EC%A7%80%EC%84%B1-uyz3t/qpv5x427xk1v6mkyn3dw](https://slashpage.com/%25EC%259C%25A4%25EC%25A7%2580%25EC%2584%25B1-uyz3t/qpv5x427xk1v6mkyn3dw)

[https://slashpage.com/%EC%9C%A4%EC%A7%80%EC%84%B1-uyz3t/943zqpmqrynp72wnvy87](https://slashpage.com/%25EC%259C%25A4%25EC%25A7%2580%25EC%2584%25B1-uyz3t/943zqpmqrynp72wnvy87)

```
#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()

```

[사이트 바로가기 코드를 복사하셔서 run코드를 누르세요](https://www.online-python.com)

For the site tree, see the [root Markdown](https://slashpage.com/%EC%9C%A4%EC%A7%80%EC%84%B1-uyz3t.md).
