7 or start_col < 0 or start_col > 7: print("잘못된 입력입니다. 다시 입력하세요.") continue break box = board[start_row:start_row+3, start_col:start_col+3] # 상자 위치에 있는 숫자 출력 print("상자 위치에 있는 숫자:") print(box) # 예측한 숫자 입력 받기 predict = np.zeros((3, 3)) for i in range(3): for j in range(3): num = int(input(f"{i}, {j} 위치에 있는 숫자를 입력하세요: ")) predict[i, j] = num # 맞춘 개수 구하기 correct = (box == predict).sum() # 결과 출력 print("맞춘 개수:", correct)"> 7 or start_col < 0 or start_col > 7: print("잘못된 입력입니다. 다시 입력하세요.") continue break box = board[start_row:start_row+3, start_col:start_col+3] # 상자 위치에 있는 숫자 출력 print("상자 위치에 있는 숫자:") print(box) # 예측한 숫자 입력 받기 predict = np.zeros((3, 3)) for i in range(3): for j in range(3): num = int(input(f"{i}, {j} 위치에 있는 숫자를 입력하세요: ")) predict[i, j] = num # 맞춘 개수 구하기 correct = (box == predict).sum() # 결과 출력 print("맞춘 개수:", correct)"> 7 or start_col < 0 or start_col > 7: print("잘못된 입력입니다. 다시 입력하세요.") continue break box = board[start_row:start_row+3, start_col:start_col+3] # 상자 위치에 있는 숫자 출력 print("상자 위치에 있는 숫자:") print(box) # 예측한 숫자 입력 받기 predict = np.zeros((3, 3)) for i in range(3): for j in range(3): num = int(input(f"{i}, {j} 위치에 있는 숫자를 입력하세요: ")) predict[i, j] = num # 맞춘 개수 구하기 correct = (box == predict).sum() # 결과 출력 print("맞춘 개수:", correct)">

#5조 2번문제
import numpy as np

# 10x10 형태의 랜덤 숫자 판 생성
board = np.random.permutation(np.arange(1, 101)).reshape((10, 10))

# 3x3 모양의 상자 놓기
while True:
    start_row = int(input("상자 첫 인덱스의 행 입력(0~7): "))
    start_col = int(input("상자 첫 인덱스의 열 입력(0~7): "))
    if start_row < 0 or start_row > 7 or start_col < 0 or start_col > 7:
        print("잘못된 입력입니다. 다시 입력하세요.")
        continue
    break
box = board[start_row:start_row+3, start_col:start_col+3]

# 상자 위치에 있는 숫자 출력
print("상자 위치에 있는 숫자:")
print(box)

# 예측한 숫자 입력 받기
predict = np.zeros((3, 3))
for i in range(3):
    for j in range(3):
        num = int(input(f"{i}, {j} 위치에 있는 숫자를 입력하세요: "))
        predict[i, j] = num

# 맞춘 개수 구하기
correct = (box == predict).sum()

# 결과 출력
print("맞춘 개수:", correct)
#6조 실습문제

import numpy as np

# 사용자 수 입력받기
n = int(input("사용자의 수: "))

# 사용자 정보 랜덤 생성
user_info = np.random.randint(160, 201, size=(n, 1)) # 신장 (160 ~ 200)
user_info = np.hstack((user_info, np.random.randint(50, 101, size=(n, 1)))) # 몸무게 (50 ~ 100)
user_info = np.hstack((user_info, np.random.randint(0, 2, size=(n, 1)))) # 성별 (남성: 0, 여성: 1)

# 사용자 정보 출력
print("사용자 정보 모두 출력:")
print(user_info)

# 각 성별의 평균 신장과 몸무게 계산
male_idx = user_info[:, 2] == 0 # 남성 인덱스
female_idx = user_info[:, 2] == 1 # 여성 인덱스
male_height_mean = np.mean(user_info[male_idx][:, 0])
male_weight_mean = np.mean(user_info[male_idx][:, 1])
female_height_mean = np.mean(user_info[female_idx][:, 0])
female_weight_mean = np.mean(user_info[female_idx][:, 1])

# 평균 신장과 몸무게 출력
print("남성 평균 신장: {:.2f}".format(male_height_mean))
print("남성 평균 몸무게: {:.2f}".format(male_weight_mean))
print("여성 평균 신장: {:.2f}".format(female_height_mean))
print("여성 평균 몸무게: {:.2f}".format(female_weight_mean))

# 신장으로 회원 번호 출력
height_idx = np.argsort(user_info[:, 0])
print("신장의 오름차순으로 회원번호(인덱스 번호) 출력: ", height_idx.tolist())

# 몸무게로 회원 번호 출력
weight_idx = np.lexsort((user_info[:, 2], user_info[:, 1]))[::-1]
print("몸무게의 오름차순으로 회원번호(인덱스 번호) 출력: ", weight_idx.tolist())

# BMI 계산 및 오름차순 정렬된 사용자 정보 출력
bmi = user_info[:, 1] / ((user_info[:, 0] / 100) ** 2)
sorted_idx = np.argsort(bmi)
sorted_user_info = user_info[sorted_idx]
print("BMI 오름차순으로 정렬된 사용자 정보 출력:")
print(sorted_user_info)