Inicio de Ejercicio 5

This commit is contained in:
perro tuerto 2023-02-23 12:02:37 -08:00
parent e08e8fb254
commit 450a3b34d0
3 changed files with 52 additions and 0 deletions

52
exercises/ex05/ex05a.py Normal file
View File

@ -0,0 +1,52 @@
test1 = {
"1h": "bking",
"6c": "wqueen",
"2g": "bbishop",
"5h": "bqueen",
"3e": "wking",
}
test2 = {
"9h": "bking",
}
test3 = {
"1r": "bking",
}
test4 = {
"8h": "cking",
}
test5 = {
"8h": "wring",
}
test6 = {
"8h": "wking",
"7h": "wking",
}
test7 = None
def isValidChessBoard(board):
pieces = "pawn knight bishop rook queen king".split()
players = {"w": {}, "b": {}}
totals = {"pa": 8, "kn": 2, "bi": 2, "ro": 2, "qu": 1, "ki": 1}
if not isinstance(board, dict):
return False
for k, v in board.items():
if len(k) > 2 or k[0] not in "12345678" or k[1] not in "abcdefgh":
return False
if not isinstance(v, str) or v[0] not in "bw" or v[1:] not in pieces:
return False
players[v[0]].setdefault(v[1:3], 0)
players[v[0]][v[1:3]] += 1
# TODO
for board in players.values():
if board != totals:
return False
return True
for test in [test1, test2, test3, test4, test5, test6, test7]:
print(f"Testing board '{test}': ", end="")
if isValidChessBoard(test):
print("Valid")
else:
print("Invalid")

0
exercises/ex05/ex05b.py Normal file
View File

0
exercises/ex05/ex05c.py Normal file
View File