Skip to content

Instantly share code, notes, and snippets.

@bay007
Last active January 26, 2019 06:03
Show Gist options
  • Save bay007/20a0a0229d2816e9c8884b8e58fb9b9b to your computer and use it in GitHub Desktop.
Save bay007/20a0a0229d2816e9c8884b8e58fb9b9b to your computer and use it in GitHub Desktop.
Clases -- Temas básicos.
from random import randint
class Dado:
"""Simula un dado y mantiene su estado
--- Hay 3 clases de estilos de generar doc strings,
Sphinx, NumPy y Google.
"""
def __init__(self, num_caras=6):
self.numero_caras = num_caras
self.valor = None
def tirar_dado(self):
"""
Con éste método se tira un dado y arroja un calor entre 1 y el num_caras definido.
"""
self.valor = randint(1, self.numero_caras) # 4
# Magic methods
def __repr__(self):
return f"Valor {self.valor}"
dado_1 = Dado(18)
print(dado_1)
print(dado_1.tirar_dado())
print(dado_1.valor)
class Tablero:
"""
Estos son doc strings, con ellos se documenta que hace
una clase ó método.
"""
def __init__(self, numero_dados=2):
self.numero_dados = numero_dados
self.dados = []
for _ in range(self.numero_dados):
self.dados.append(Dado())
def tirar(self):
for dado in self.dados:
dado.tirar_dado()
tbl = Tablero()
tbl.tirar()
# for dado in tbl.dados:
# print(dado.valor)
print(tbl.dados)
@bay007
Copy link
Author

bay007 commented Jan 25, 2019

from random import randrange


class Dado:
    # Constructor / Este se llama al instanciar
    def __init__(self, numero_caras):
        self.valor = None  # Atributois
        self.num_caras = numero_caras

    # Método
    def tirar_dado(self):
        self.valor = randrange(1, self.num_caras)


# Instanciar la clase
dado_1 = Dado(16)
print(dado_1.valor)
dado_1.tirar_dado()
print(dado_1.valor)
print("------------")
dado_2 = Dado(6)
print(dado_2.valor)
dado_2.tirar_dado()
print(dado_2.valor)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment