Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

giúp mình giải bài này với

21:05 02-07-2023 684 lượt xem 5 bình luận 21:01 05-07-2023
  1. Viết chương trình cho người dùng nhập vào một List chỉ chứa các số nguyên.Cho người dùng nhập vào một số k. Từ trái qua phải, tìm phần tử có giá trị gần nhất với số k đó.

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
d8.ndh đã bình luận 15:25 06-07-2023
def tim_so_gan_nhat(lst, k):
# Khởi tạo biến lưu giá trị gần nhất và khoảng cách tới số k ban đầu
gan_nhat = lst[0]
khoang_cach = abs(gan_nhat - k)

# Duyệt qua từng phần tử trong danh sách
for num in lst:
# Tính khoảng cách tới số k
curr_khoang_cach = abs(num - k)

# Kiểm tra nếu khoảng cách hiện tại nhỏ hơn khoảng cách trước đó
if curr_khoang_cach < khoang_cach:
gan_nhat = num
khoang_cach = curr_khoang_cach

return gan_nhat

# Nhập danh sách các số nguyên từ người dùng
lst = input("Nhập danh sách các số nguyên, cách nhau bằng dấu cách: ").split()
lst = [int(num) for num in lst]

# Nhập số k từ người dùng
k = int(input("Nhập số k: "))

# Gọi hàm tìm số gần nhất và in kết quả ra màn hình
so_gan_nhat = tim_so_gan_nhat(lst, k)
print("Số gần nhất với", k, "là:", so_gan_nhat)
Kteam SuperAdmin đã bình luận 11:10 03-07-2023

ít ra cần nói bạn vướng mắc chỗ nào hay muốn gì chứ cứ post cái đề lên vậy ai biết bạn cần gì mà giúp

FoxCode đã bình luận 23:12 02-07-2023

Theo tôi hiểu thì làm như này:

my_list = [50, 10, 70, 90, 20, 30, 40, 60, 80]

def closest_to_k(lst, k):
    lst.sort()
    index = 0
    fist_value = abs(k - min(lst))
    for i in range(1, len(lst)):
        second_value = k - lst[i]
        if second_value < 0: #bỏ qua phần tử có giá trị gần nhất bên phải
            break
        if second_value < fist_value:#so sánh giá trị
            fist_value = second_value
            index = i 
    return lst[index] #trả về phần tử gần k nhất trong list

while True:
    input_k = int(input("Please enter a number: "))
    current_k = closest_to_k(my_list, input_k)
    print(current_k)

 

Pham Thai Son đã bình luận 21:05 02-07-2023

giúp mình với

 

Câu hỏi mới nhất