full_dot = ‘●’
empty_dot = ‘○’
def create_character(nombre, fza, intel, car):
#verificamos la cadena
if not isinstance(nombre, str):
return “The character name should be a string”
if nombre == “”:
return “The character should have a name”
if len(nombre) > 10:
return “The character name is too long”
if " " in nombre:
return “The character name should not contain spaces”
#Validar estadistica
if not isinstance(fza, int) or not isinstance(intel, int) or not isinstance(car, int):
return “All stats should be integers”
if fza < 1 or intel < 1 or car < 1:
return “All stats should be no less than 1”
if fza > 4 or intel > 4 or car > 4:
return “All stats should be no more than 4”
if fza+intel+car !=7:
return “The character should start with 7 points”
else:
return nombre+"\nSTR “+full_dot+full_dot+full_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+”\nINT “+full_dot+full_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+”\nCHA "+full_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot+empty_dot
#result =“”
#result += nombre +“\n”
#result += “STR “+full_dot*fza+empty_dot*(10 - fza)+”\nINT”
#result += “INT “+full_dot*intel+empty_dot*(10 - intel)+”\n”
#result += “CHA “+full_dot*car+empty_dot*(10 - car)+”\n”
#return result
#llamamos a la función
resul = create_character(‘ren’,4,2,1)
print (resul)
Mi código completa las primeras 10 pruebas, pero en las 2 últimas no avanza aun cuando en consola me muestra el resultado tal como se pide
Aquí las pruebas que debe cumplir
-
1. Debes tener una función llamada
create_character. -
Aprobado:2. Cuando
create_characterse llama con un primer argumento que no es una cadena, debería devolverThe character name should be a string. -
Aprobado:3. Cuando
create_characterse llama con un primer argumento que es una cadena vacía, debería devolverThe character should have a name. -
Aprobado:4. Cuando
create_characterse llama con un primer argumento que tiene más de 10 caracteres, debería devolverThe character name is too long. -
Aprobado:5. La función
create_characterno debería decir que el carácter es demasiado largo cuando no tiene más de 10 caracteres. -
Aprobado:6. Cuando
create_characterse llama con un primer argumento que contiene un espacio debería devolverThe character name should not contain spaces. -
Aprobado:7. Cuando
create_characterse llama con un segundo, tercer o cuarto argumento que no es un entero, debería devolverAll stats should be integers. -
Aprobado:8. Cuando
create_characterse llama con un segundo, tercer o cuarto argumento que sea menor que1, debería devolverAll stats should be no less than 1. -
Aprobado:9. Cuando
create_characterse llama con un segundo, tercer o cuarto argumento que sea mayor que4, debería devolverAll stats should be no more than 4. -
Aprobado:10. Cuando
create_characterse llama con un segundo, tercer o cuarto argumento que no suma7, debería devolverThe character should start with 7 points. -
Falló:11.
create_character('ren', 4, 2, 1)debería devolverren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○. -
Falló:12. Cuando
create_characterse llama con valores válidos debería mostrar las estadísticas del personaje como se requiere.
Y esta es la salida de consola:
// ejecutando pruebas
11. create_character('ren', 4, 2, 1) debería devolver ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○.
12. Cuando create_character se llama con valores válidos debería mostrar las estadísticas del personaje como se requiere.
// pruebas completadas
// salida de consola
ren
STR ●●●○○○○○○○
INT ●●○○○○○○○○
CHA ●○○○○○○○○○
