Hướng dẫn how do you find the mode without inbuilt function in python? - Làm thế nào để bạn tìm thấy chế độ không có chức năng sẵn có trong python?

Đối với khóa học lập trình của tôi, tôi cần tìm chế độ của một danh sách được đưa ra bởi người dùng. Chúng tôi đã trải qua mã bắt đầu này trong lớp. Bây giờ chúng ta cần tìm thấy một hoặc nhiều chế độ được đưa ra bởi người dùng. Ngoài ra, khi đặt mã này, tôi gặp lỗi khi nói rằng chỉ mục nằm ngoài phạm vi. Xin hãy giúp đỡ và cảm ơn bạn trước!

def calculateMode(dataList):
    dataList.sort()
    position = 0
    largestCount = 0
    listLength = len(dataList)
    while(position <= listLength):
        count = dataList.count(dataList[position])
        if(count > largestCount):
            largestCount = count
            valuePosition = dataList[position]
        position += count
    return dataList[valuePosition]

userList = []
listEntry = float(input("Enter a number (Enter -1 to end):  "))
while(listEntry >= 0):
    userList.append(listEntry)
    listEntry = float(input("Enter a number (Enter -1 to end):  "))
print(calculateMode(userList))

Hỏi ngày 19 tháng 11 năm 2015 lúc 2:25Nov 19, 2015 at 2:25

Hướng dẫn how do you find the mode without inbuilt function in python? - Làm thế nào để bạn tìm thấy chế độ không có chức năng sẵn có trong python?

Bạn có thể sử dụng một cách tiếp cận lặp:

  1. Đầu tiên nhận được các yếu tố độc đáo từ đầu vào. Trong trường hợp của Python, bạn có thể sử dụng tập hợpset

  2. Tạo từ điển new_empty

  3. Từ điển này lưu trữ các khóa dưới dạng các phần tử và giá trị duy nhất vì số lần phần tử hiện tại được lặp lại trong đầu vào gốckeys as unique elements and values as how many times the current element is repeated in original input

  4. Tạo một biến mới (chúng ta hãy giả sử bây giờ tôi đã tạo biến của mình có tên Max và khởi tạo nó thành 0)max and initialize it to zero) This is mainly done thinking that maximum_occurence of the element is zero

  5. Bây giờ chúng tôi sẽ tạo một vòng lặp nhận được giá trị từ từ điển. Nếu giá trị> hơn giá trị tối đa mà chúng tôi đã bắt đầu, chúng tôi sẽ cập nhật giá trị tối đa với giá trị cụ thể đó. Chúng tôi sẽ lặp đi lặp lại cùng với toàn bộ từ điển

  6. Ở đây chúng tôi sẽ nhận được giá trị xuất hiện tối đa. Bước tiếp theo, chúng tôi sẽ tạo một danh sách trống lưu trữ các giá trị chế độ. Một lần nữa chúng tôi sẽ lặp lại cùng với từ điển. Chúng tôi sẽ nhận được các giá trị. Nếu giá trị đó mà chúng ta nhận được bằng cách sử dụng một khóa bằng với sự xuất hiện tối đa đó, chúng ta sẽ lưu trữ khóa đó tôi danh sách trống

  7. Sau đó in danh sách chế độ ________ 5 !!! Bạn có chế độ

def find_mode(num_list):
   enter code here # Complete this function
    unique_num_list = list(set(num_list))
    dictionary = {}
    for i in unique_num_list:
        get_count = num_list.count(i)
        dictionary[i]= get_count
    max_repeat = 0 
    for i in unique_num_list:
        get_value = dictionary[i]
        if get_value>max_repeat:
            max_repeat = get_value
    result = ''
    for i in unique_num_list:
        if dictionary[i]==max_repeat:
            result = result+str(i)+" "
    return result


num_list = list(map(int, input().split()))
# Call the appropriate functions and print the results
mode = find_mode(num_list)
print(mode)

Hướng dẫn how do you find the mode without inbuilt function in python? - Làm thế nào để bạn tìm thấy chế độ không có chức năng sẵn có trong python?

Anton Krug

1.3632 huy hiệu vàng16 Huy hiệu bạc31 Huy hiệu đồng2 gold badges16 silver badges31 bronze badges

Đã trả lời ngày 4 tháng 6 năm 2021 lúc 18:11Jun 4, 2021 at 18:11

Hướng dẫn how do you find the mode without inbuilt function in python? - Làm thế nào để bạn tìm thấy chế độ không có chức năng sẵn có trong python?

Chỉ số danh sách bắt đầu từ 0, vì vậy chỉ mục kết thúc phải là độ dài của danh sách - 1

while(position < listLength):

Cách tốt nhất để tìm chế độ là sử dụng dict. Khóa là đầu vào của người dùng. Giá trị là tần số.

def mode(data):
    return sorted(data.items(),key = lambda x: x[1],reverse = True )[0][0]

print mode(  {1:10,10:1,100:4,4:10,5:30,7:3 }) 

5

Đã trả lời ngày 19 tháng 11 năm 2015 lúc 2:32Nov 19, 2015 at 2:32

Hướng dẫn how do you find the mode without inbuilt function in python? - Làm thế nào để bạn tìm thấy chế độ không có chức năng sẵn có trong python?

Galaxyangalaxyangalaxyan

5.6882 Huy hiệu vàng18 Huy hiệu bạc41 Huy hiệu đồng2 gold badges18 silver badges41 bronze badges

Bạn có thể muốn sử dụng phương pháp "đếm" của Python hoặc bằng cách sử dụng các bảng băm. Vì đây là bài tập về nhà, tôi không thể cung cấp trực tiếp cho bạn câu trả lời nhưng tôi sẽ nói rằng bạn có thể tạo một từ điển về các yếu tố duy nhất của danh sách và có bao nhiêu mục trong danh sách đó.dictionary of the unique elements of the list and how many items are in that list.

Với một dict, bạn thậm chí sẽ không cần phải sắp xếp danh sách để đếm nó.

Khi bạn có điều đó, bạn có thể tìm thấy các khóa của các giá trị tối đa của dict.keys of the maximum values of the dict.

Tôi đã được thông báo rằng đó là thực tế xấu khi sử dụng INTS làm khóa từ điển nhưng tôi nghĩ trong trường hợp này bạn sẽ ổn :)

Điều này cũng có thể được thực hiện với các bộ dữ liệu nhưng tôi thấy các bảng băm là điều hiệu quả nhất cho các vấn đề như thế này.

while(position <= listLength):     #Definitely a better idea to use *for* here
        count = dataList.count(dataList[position])
        if(count > largestCount):
            largestCount = count
            valuePosition = dataList[position]
        position += count
    return dataList[valuePosition]

Mã của bạn ở đây bị phá vỡ vì khi vị trí == ListLpm, nó sẽ lặp lại trong danh sách một lần thứ n. n> ListLpm trong trường hợp này. Hãy nhớ rằng, 0 lập chỉ mục và Python 0 của bạn. Hãy thử ListLpm-1 nếu bạn muốn giữ thực hành này.

Đã trả lời ngày 19 tháng 11 năm 2015 lúc 2:51Nov 19, 2015 at 2:51

Hướng dẫn how do you find the mode without inbuilt function in python? - Làm thế nào để bạn tìm thấy chế độ không có chức năng sẵn có trong python?

QuentinentinQuentin

6965 Huy hiệu bạc10 Huy hiệu Đồng5 silver badges10 bronze badges

Làm thế nào để bạn tìm thấy chế độ của một danh sách mà không có chức năng sẵn có trong Python?

Bạn có thể sử dụng một cách tiếp cận lặp:..
Đầu tiên nhận được các yếu tố độc đáo từ đầu vào. ....
Tạo một từ điển new_empty ..
Từ điển này lưu trữ các khóa dưới dạng các phần tử và giá trị duy nhất khi phần tử hiện tại được lặp lại bao nhiêu lần trong đầu vào gốc ..

Làm thế nào để bạn tìm thấy chế độ trong Python?

Hướng dẫn từng bước..
Bước 1: Tạo một hàm gọi là chế độ có trong một đối số ..
Bước 2: Tạo một biến từ điển trống ..
Bước 3: Tạo vòng lặp for có lặp lại giữa biến đối số ..
Bước 4: Sử dụng một vòng lặp if-not và khác như một bộ đếm ..

Làm thế nào để bạn tìm thấy chế độ trong một danh sách nhất định?

Chế độ tìm kiếm là số đó trong danh sách xảy ra thường xuyên nhất.Chúng tôi tính toán nó bằng cách tìm tần số của từng số có trong danh sách và sau đó chọn một số có tần số cao nhất.finding the frequency of each number present in the list and then choosing the one with highest frequency.

Làm thế nào để bạn tìm thấy trung bình trong Python mà không có thư viện?

Chương trình tìm kiếm trung bình, trung bình và chế độ mà không sử dụng thư viện:..
Trung bình: Numb = [2, 3, 5, 7, 8] No = Len (Numb) Summ = sum (numb) mean = summ / không in ("giá trị trung bình hoặc trung bình của tất cả các số này (", tê, ")là ", str (có nghĩa là)) ....
Trung bình: ... .
Cách thức: ... .
Chương trình tìm kiếm trung bình, trung bình và chế độ bằng thư viện được xác định trước:.