w3resource

Python: Find the index of the largest prime in the list and the sum of its digits


Largest Prime Index and Digit Sum

Write a Python program to find the index of the largest prime in the list and the sum of its digits.

Input:  
[3, 7, 4] 
Output:
[1, 7]

Input:  
[3, 11, 7, 17, 19, 4]
Output:
[4, 10]

Input:  
[23, 17, 201, 14, 10473, 43225, 421, 423, 11, 10, 2022, 342157]
Output:
[6, 7]

Visual Presentation:

Python: Find the index of the largest prime in the list and the sum of its digits.

Sample Solution:

Python Code:

# License: https://bit.ly/3oLErEI

# Define a function named 'test' that takes a list of numbers as input
def test(nums):
    # Find the maximum prime number in the list along with its index
    n, i = max((n, i) for i, n in enumerate(nums) if is_prime(n))
    
    # Return a list containing the index of the largest prime and the sum of its digits
    return [i, sum(int(c) for c in str(n))]

# Define a function named 'is_prime' that checks if a number is prime
def is_prime(n):
    return n > 1 and all(n % j for j in range(2, int(n ** 0.5) + 1))

# Example 1
nums1 = [3, 7, 4]
print("List of numbers:", nums1)
print("Index of the largest prime in the said list and the sum of its digits:")
print(test(nums1))

# Example 2
nums2 = [3, 11, 7, 17, 19, 4]
print("\nList of numbers:", nums2)
print("Index of the largest prime in the said list and the sum of its digits:")
print(test(nums2))

# Example 3
nums3 = [23, 17, 201, 14, 10473, 43225, 421, 423, 11, 10, 2022, 342157]
print("\nList of numbers:", nums3)
print("Index of the largest prime in the said list and the sum of its digits:")
print(test(nums3))

Sample Output:

List of numbers: [3, 7, 4]
Index of the largest prime in the said list and the sum of its digits:
[1, 7]

List of numbers: [3, 11, 7, 17, 19, 4]
Index of the largest prime in the said list and the sum of its digits:
[4, 10]

List of numbers: [23, 17, 201, 14, 10473, 43225, 421, 423, 11, 10, 2022, 342157]
Index of the largest prime in the said list and the sum of its digits:
[6, 7]

Flowchart:

Flowchart: Python - Reorder numbers in increasing/decreasing order based on whether the first plus last element is even/odd.

Python Code Editor :

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Reorder numbers in increasing/decreasing order based on whether the first plus last element is even/odd.
Next: Convert GPAs to letter grades.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.