Write a function that takes a dictionary representing points in 3D space and an associated color for each point, and returns the centroid of the set of points in each color as another dictionary. The keys in the input dictionary are tuples representing the coordinates of points in 3D space and the values are strings representing colors. The keys in the resulting dictionary are colors, and the values are tuples representing the centroids. For example, the following is a valid input dictionary: dict1 = {(1,1,1):"red", (2,1,-1):"green", (0,-1,1):"red", (0,0,-2):"blue"} In this case, there are 2 red points, and their centroid is at ( (1+0)/2, (1-1)/2, (1+1)/2 ) = (0.5, 0, 1) Considering that in this example there is only one green and one blue point, they are representing the respective color's centroid. Hence, your function should return the following dictionary: {"red":(0.5,0.0,1.0), "green":(2.0,1.0,-1.0), "blue":(0.0,0.0,-2.0)} Note that, there is no restriction on the number of different colors that may exist in the input dictionary. You should only report for existing colors, and you should report them all.  without any numpy or array.     i need write this code but i always get none

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Write a function that takes a dictionary representing points in 3D space and an associated color for each point, and returns the centroid of the set of points in each color as another dictionary. The keys in the input dictionary are tuples representing the coordinates of points in 3D space and the values are strings representing colors. The keys in the resulting dictionary are colors, and the values are tuples representing the centroids. For example, the following is a valid input dictionary: dict1 = {(1,1,1):"red", (2,1,-1):"green", (0,-1,1):"red", (0,0,-2):"blue"} In this case, there are 2 red points, and their centroid is at ( (1+0)/2, (1-1)/2, (1+1)/2 ) = (0.5, 0, 1) Considering that in this example there is only one green and one blue point, they are representing the respective color's centroid. Hence, your function should return the following dictionary: {"red":(0.5,0.0,1.0), "green":(2.0,1.0,-1.0), "blue":(0.0,0.0,-2.0)} Note that, there is no restriction on the number of different colors that may exist in the input dictionary. You should only report for existing colors, and you should report them all.  without any numpy or array.

 

 

i need write this code but i always get none

Expert Solution
Step 1

Program:

# method to find centroid

def centroid(dict1):

    dictRes={}

    #traverse the dictionary

    for key in dict1:

        result=key

        count=1

        for key1 in dict1:

            # match values in the dictionary

            if (dict1[key]==dict1[key1]) and key!=key1:

                x = (result[0]+key1[0])

                y = (result[1]+key1[1])

                z = (result[2]+key1[2])

                count=count+1

                result=(x,y,z)

        result = [x/count for x in result]

        # create a new dictionary with the colours

        if dict1[key] not in dictRes:

            dictRes[dict1[key]] = result

    return dictRes   

               

dict1 = {(1,1,1):"red", (2,1,-1):"green", (0,-1,1):"red", (0,0,-2):"blue"}

print("Resulting centroid dictionary: ")

print(centroid(dict1))

 

Step 2

Screenshot of the program:

Computer Science homework question answer, step 2, image 1

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Lists
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education