Enumerations

This page is under construction. Please come back later.
#!/usr/bin/env python3;
from enum import Enum, auto
import Utils
class CompassPoint(Enum):
NORTH = 0
EAST = auto()
SOUTH = auto()
WEST = auto()
def compass_point_to_string(c) :
result = ""
match c :
case CompassPoint.NORTH :
result = "North"
case CompassPoint.EAST :
result = "East"
case CompassPoint.SOUTH :
result = "South"
case CompassPoint.WEST :
result = "West"
return result
def turn_right(c) :
if (c == CompassPoint.NORTH) :
return CompassPoint.EAST
elif (c == CompassPoint.EAST) :
return CompassPoint.SOUTH
elif (c == CompassPoint.SOUTH) :
return CompassPoint.WEST
else :
return CompassPoint.NORTH
# Begin Main
cp1 = CompassPoint.NORTH
print("cp1: " + str(cp1))
print("SOUTH: " + compass_point_to_string(CompassPoint.SOUTH))
print("turnRight(cp1): " + compass_point_to_string(turn_right(cp1)))
cp2 = CompassPoint.EAST
if (cp1 == cp2) :
print("cp1 == cp2")
else :
print("cp1 != cp2")
cp1 = cp2
if (cp1 == cp2) :
print("cp1 == cp2")
else :
print("cp1 != cp2")
Output
$ python3 Enums1.py
cp1: CompassPoint.NORTH
SOUTH: South
turnRight(cp1): East
cp1 != cp2
cp1 == cp2
#!/usr/bin/env python3;
from enum import Enum, auto
import Utils
class Color(Enum):
RED = 1
GREEN = 2
YELLOW = 3
BLUE = 4
MAGENTA = 5
CYAN = 6
def combine_colors(c1, c2) :
i1 = c1.value
i2 = c2.value
RESULT = Utils.bitwiseOr32(i1, i2)
return_color = Color(RESULT)
return return_color
# Begin Main
c1 = Color.BLUE
print("c1: " + str(c1))
print("RED: " + str(Color.RED))
print("combineColors(c1, RED): " + str(combine_colors(c1, Color.RED)))
c2 = Color.GREEN
print("combineColors(c1, c2): " + str(combine_colors(c1, c2)))
if (c1 == c2) :
print("c1 == c2")
else :
print("c1 != c2")
c1 = c2
if (c1 == c2) :
print("c1 == c2")
else :
print("c1 != c2")
bad = Color(7)
print("bad: " + str(bad))
Output
$ python3 Enums2.py
c1: Color.BLUE
RED: Color.RED
combineColors(c1, RED): Color.MAGENTA
combineColors(c1, c2): Color.CYAN
c1 != c2
c1 == c2
Traceback (most recent call last):
File "/Users/rich/Desktop/Resources/pureprogrammer/py/examples/Enums2.py", line 36, in <module>
bad = Color(7)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/enum.py", line 384, in __call__
return cls.__new__(cls, value)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/enum.py", line 702, in __new__
raise ve_exc
ValueError: 7 is not a valid Color
Questions
- {{Who's on first?}}
- {{Who's on second?}}
- {{Who's on third?}}
Projects
More ★'s indicate higher difficulty level.
References
- [[Python Language Reference]]
- [[Python Standard Library]]
- [[Python at TutorialsPoint]]
Pure Programmer


