Hướng dẫn how do you count prime numbers in a list in python? - làm thế nào để bạn đếm số nguyên tố trong một danh sách trong python?

-5

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Trong Python 3, tôi đang cố gắng viết một hàm đếm số số nguyên tố trong danh sách, có ai có thể giúp tôi với điều đó không?

def function(x):

  array = []
  aa = len(x)

  for num in x :
    if (num == 1 or num ==2):
      array.append()
    elif num >2:
      for i in range (2, aa):
        if (num % i )== 0:
          array.append()
        else:
          print (num)
          array.append(num)

  return len(array)

z = [4,5,6,7,8,9,10]
print (function(z))

Nhưng nó cho thấy một kết quả không chính xác!

Hướng dẫn how do you count prime numbers in a list in python? - làm thế nào để bạn đếm số nguyên tố trong một danh sách trong python?

ksp585

1.59813 Huy hiệu bạc26 Huy hiệu đồng13 silver badges26 bronze badges

Hỏi ngày 11 tháng 8 năm 2018 lúc 1:23Aug 11, 2018 at 1:23

2

Đây là bản sửa lỗi của tôi về mã của bạn.

def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))

Tôi sẽ lưu ý một vài điều cho người mới bắt đầu biết. Không sử dụng các từ dành riêng hoặc loại như các từ cho các phương thức và biến, đặt tên cho những thứ một cách mô tả. Thay đổi function thành count_primes_in_list, array thành primes, x thành

def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))
0, v.v. Bài kiểm tra của bạn cho một số nguyên tố là không chính xác. Một số nguyên tố là một số lớn hơn 1 không thể chia cho một số khác lớn hơn 1 và nhỏ hơn bản thân của nó. Trong Python không đặt () xung quanh nếu kiểm tra.

Hướng dẫn how do you count prime numbers in a list in python? - làm thế nào để bạn đếm số nguyên tố trong một danh sách trong python?

Ben

3.7852 huy hiệu vàng24 Huy hiệu bạc34 Huy hiệu đồng2 gold badges24 silver badges34 bronze badges

Đã trả lời ngày 11 tháng 8 năm 2018 lúc 2:02Aug 11, 2018 at 2:02

Hướng dẫn how do you count prime numbers in a list in python? - làm thế nào để bạn đếm số nguyên tố trong một danh sách trong python?

MartlarkmartlarkMartlark

13.5K12 Huy hiệu vàng80 Huy hiệu bạc96 Huy hiệu đồng12 gold badges80 silver badges96 bronze badges

1

Logic của bạn là một chút sai lầm và tôi không chắc bạn nghĩ

def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))
1 là gì. Và
def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))
2 là không liên quan. Lưu ý:
def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))
3 không phải là chính.

Bạn có thể sử dụng mệnh đề

def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))
4 cho vòng lặp
def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))
5, điều này có nghĩa là chỉ thực thi nếu vòng lặp FOR hoàn thành vì vậy nếu bạn
def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))
6 ra sớm, nó không được thực thi. Vì vậy, nếu
def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))
7 chia hết cho bất kỳ số nào bị phá vỡ
def count_primes_in_list(numbers):
    primes = []

    for num in numbers:
        if num == 2:
            primes.append(num)
        else:
            is_prime = True
            for i in range(2, num):
                if num % i == 0:
                    is_prime = False
                    break

            if is_prime:
                print (num)
                primes.append(num)

    return len(primes)


z = [4, 5, 6, 7, 8, 9, 10]
print (count_primes_in_list(z))
4 thêm vào array.

def function(x):
    array = []

    for num in x:
        if num <= 1:
            continue
        for i in range(2, num):
            if (num % i) == 0:
                break
        else:
            print(num)
            array.append(num)

    return len(array)

In []:
z = [4, 5, 6, 7, 8, 9, 10]
print(function(z))

Out[]:
5
7
2

Lưu ý: Có nhiều phương pháp hiệu quả hơn để kiểm tra tính nguyên thủy nhưng điều này đủ tốt cho số lượng nhỏ.

Đã trả lời ngày 11 tháng 8 năm 2018 lúc 2:07Aug 11, 2018 at 2:07

Hướng dẫn how do you count prime numbers in a list in python? - làm thế nào để bạn đếm số nguyên tố trong một danh sách trong python?

AchampionachampionAChampion

28.8K3 Huy hiệu vàng55 Huy hiệu bạc70 Huy hiệu Đồng3 gold badges55 silver badges70 bronze badges

2

def countPrime(num):
    d=0
    for n in num:
      if n>1:
         for i in range(2,n):
            if (n%i)==0:
                break
            else:
                d+=1

    return d
if __name__ == '__main__':
    num=[]
    cot=int(input())
    for i in range(cot):
        numbers.append(int(input()))
    
    print(countPrime(num))

Đã trả lời ngày 21 tháng 2 năm 2021 lúc 16:02Feb 21, 2021 at 16:02

Ritesh RiteshRITESH

651 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

Số lượng số nguyên tố trong danh sách Python

def countPrimeNumbers(numbers):
    count=0
    for num in numbers:
        if(num<2):
            continue
        else:
            for i in range(2,num):
                if(num%i==0):
                    break
            else:
                count+=1
    return count

Đã trả lời ngày 20 tháng 8 năm 2021 lúc 15:05Aug 20, 2021 at 15:05

Hướng dẫn how do you count prime numbers in a list in python? - làm thế nào để bạn đếm số nguyên tố trong một danh sách trong python?

Làm thế nào để bạn đếm một danh sách trong danh sách Python?

Có một hàm tích hợp gọi là Len () để lấy tổng số mục trong danh sách, tuple, mảng, từ điển, v.v.danh sách đã cho.len() for getting the total number of items in a list, tuple, arrays, dictionary, etc. The len() method takes an argument where you may provide a list and it returns the length of the given list.

Làm thế nào để bạn đếm số nguyên tố?

Để chứng minh liệu một số là số nguyên tố, trước tiên hãy thử chia nó cho 2 và xem bạn có nhận được một số toàn bộ không.Nếu bạn làm như vậy, nó không thể là một số nguyên tố.Nếu bạn không nhận được một số toàn bộ, hãy thử chia nó cho các số nguyên tố: 3, 5, 7, 11 (9 là chia hết cho 3), v.v., luôn chia cho một số nguyên tố (xem bảng bên dưới).first try dividing it by 2, and see if you get a whole number. If you do, it can't be a prime number. If you don't get a whole number, next try dividing it by prime numbers: 3, 5, 7, 11 (9 is divisible by 3) and so on, always dividing by a prime number (see table below).