Python Object-Oriented Python Dice Roller RPG Roller

Mathew Yangang
Mathew Yangang
Python Web Development Techdegree Student 4,433 Points

Not sure why my code is not passing

Not sure why my code is not passing, any idea?

dice.py
import random


class Die:
    def __init__(self, sides=2):
        if sides < 2:
            raise ValueError("Can't have fewer than two sides")
        self.sides = sides
        self.value = random.randint(1, sides)

    def __int__(self):
        return self.value

    def __add__(self, other):
        return int(self) + other

    def __radd__(self, other):
        return self + other

class D20(Die):
    def __init__(self):
        super().__init__(sides=20)
hands.py
class Hand(list):
    def __init__(self, hand):
        super().__init__()
        self.extend(hand)




    @classmethod
    def roll(cls,size, die_class=D20):
        hand=[]
        for _ in range(size):
            hand.append(die_class())
        return cls(hand) 

    @property
    def total(self):
        return sum(self)