Color the polygons in PolyhedronData

You can get the polygons directly using the property "Polygons":

polygons = PolyhedronData["Dodecahedron", "Polygons"];
colors = ColorData[97]/@Range[12];

Graphics3D[Transpose[{colors, polygons}]]

enter image description here


faces = First@Normal@PolyhedronData["Dodecahedron", "Faces"];
colors = Table[ColorData[97, i], {i, 12}];
Graphics3D@Riffle[colors, faces]

Mathematica graphics


This works, but could be improved:

myVertices = N@PolyhedronData["Dodecahedron", "Vertices"];
myFaceIndices = PolyhedronData["Dodecahedron", "Faces"];
mycolors = {Red, Orange, Yellow, Green, Blue, Orange, Black, White, 
   Purple, Green, Red, Yellow};
Graphics3D@
 Transpose[{mycolors, (Polygon[myVertices[[#]]] & /@ myFaceIndices)}]