Ejemplo n.º 1
0
def newPerson():
    try:
        return Person(raw_input('Give me the person\'s name: '),
                      int(raw_input('Give the person\'s age: ')),
                      int(raw_input('How heavy is he/she?(Kg): ')),
                      int(raw_input('How tall is he/she?(cm): ')))
    except ValueError:
        PrintTools.error('That\'s not a correct value')
        return ''
Ejemplo n.º 2
0
    def __getWinner(self):

        if (all(x == self.values[0] for x in self.values)):
            PrintTools.msgWithColor('THERE HAVE BEEN A TIE',
                                    Colors.UNDERLINE + Colors.FAIL)
        else:
            winner = self.values.index(max(self.values))
            PrintTools.msgWithColor(
                'THE WINNER IS: ' + self.players[winner].name,
                Colors.BOLD + Colors.WARNING)
Ejemplo n.º 3
0
 def __getResults(self):
     for player in self.results:
         PrintTools.msgWithColor(player["name"] + ' Results:',
                                 Colors.HEADER + Colors.UNDERLINE)
         PrintTools.valueWithColor('Cards: ', Colors.OKBLUE,
                                   player["cards"])
         PrintTools.valueWithColor(
             'Points: ', Colors.FAIL if player["total"] >= self.maxValue
             else Colors.OKGREEN, player["total"])
         PrintTools.emptyLine()
         self.values.append(
             player["total"] if player["total"] < self.maxValue else -1)
Ejemplo n.º 4
0
def makeSum(numbers):
    even = 0
    odd = 0
    for number in numbers:
        if (number % 2) == 0:
            even += number
        else:
            odd += number
    PrintTools.emptyLine()
    PrintTools.valueWithColor('Sum of the even numbers: ', Colors.OKGREEN,
                              str(even))
    PrintTools.valueWithColor('Sum of the odd numbers: ', Colors.OKGREEN,
                              str(odd))
Ejemplo n.º 5
0
def expandString(_str):
    fullStr = ''
    i = 0
    for n in range(len(_str)):
        try:
            if _str[i] == '#':
                fullStr += str(_str[i + 2]).upper() * int(_str[i + 1])
                i += 3
            else:
                fullStr += str(_str[i]).upper()
                i += 1
        except IndexError:
            continue

    PrintTools.valueWithColor('ShortString: ', Colors.HEADER, _str)
    PrintTools.valueWithColor('FullString: ', Colors.OKGREEN, fullStr)
    PrintTools.emptyLine()
Ejemplo n.º 6
0
 def setAttr(self, key, value):
     try:
         if (key in ['age', 'weight', 'height']):
             if (type(value) != int):
                 raise NoNumberError
         if (key == 'nif'):
             value = value.upper()
             if (not bool(re.match("[0-9]{8}[A-Z]", value))
                     or self.__getLetterNif(value) == value[:-1]):
                 raise NifError
         self.__attributes[key] = value if type(value) == int else value
     except KeyError:
         PrintTools.error('The Key doesn\'t exist')
     except NoNumberError:
         PrintTools.error(key.upper() +
                          ' value is not a number, now it\'s 0')
     except NifError:
         PrintTools.error('NIF value not valid')
Ejemplo n.º 7
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Escribe un código Python que simule un juego en el que dos jugadores (Pepe y María) sacan tres cartas al azar del 1 al 10. Gana el jugador que saque la mayor puntuación total, siempre que no se pase de quince, en cuyo caso el jugador pierde siempre. Los jugadores pueden empatar.
# Salida del programa​:
# Pepe juega y saca las cartas: 5, 2, 10 María juega y saca las cartas: 2, 4, 8 Gana María con 14 puntos

import random
import sys
sys.path.append('../')

from printTools import PrintTools, Colors

PrintTools = PrintTools()
Colors = Colors()


class Game:
    players = []
    results = []
    maxValue = 0
    values = []

    def __init__(self, players):
        for player in players:
            self.players.append(Player(player))

    def run(self, cards, maxValue):
        self.maxValue = maxValue
        for player in self.players:
            self.results.append(player.getCards(cards))
Ejemplo n.º 8
0
# Salida del programa​:
# Introduzca la cantidad de palabras: 5

# Introduce la palabra 1: Pepe Introduce la palabra 2: Ordenador Introduce la palabra 3: Pepe Introduce la palabra 4: Tableta Introduce la palabra 5: Móvil
# Se imprime la lista:
# [‘Pepe’, ‘Ordenador’, ‘Pepe’, ‘Tableta’, ‘Móvil’]
# Introduce la palabra a buscar: Pepe
# Introduce la palabra para reemplazar: Computadora
# Se sustituye Pepe por Computadora, la lista queda así: [‘Computadora’, ‘Ordenador’, ‘Computadora’, ‘Tableta’, ‘Móvil’]
# Se elimina el elemento en la posición 4, la lista queda así: [‘Computadora’, ‘Ordenador’, ‘Computadora’, ‘Móvil’]

import sys
sys.path.append('../')

from printTools import PrintTools, Colors
PrintTools = PrintTools()
Colors = Colors()


def askToUser(msg):
    return raw_input(msg)


def getOccurrences(str, arr):
    return [i for i, x in enumerate(words) if x == word1]


try:
    _n = int(askToUser('How many words would you like to enter?: '))
except ValueError:
    PrintTools.error('That\'s not a number')
Ejemplo n.º 9
0
 def __str__(self):
     PrintTools.msgWithColor('Data of ' + self.getAttr('name') + ':',
                             Colors.HEADER + Colors.UNDERLINE)
     PrintTools.valueWithColor('Name: ', Colors.OKGREEN,
                               self.getAttr('name'))
     PrintTools.valueWithColor('Age: ', Colors.OKGREEN,
                               str(self.getAttr('age')) + ' years old')
     PrintTools.valueWithColor('Is adult: ', Colors.OKGREEN,
                               'Yes' if self.__isAdult() else 'No')
     PrintTools.valueWithColor('NIF: ', Colors.OKGREEN, self.getAttr('nif'))
     if (self.getAttr('weight') > 0):
         PrintTools.valueWithColor('Weight: ', Colors.OKGREEN,
                                   str(self.getAttr('weight')) + ' Kg')
         PrintTools.valueWithColor('Height: ', Colors.OKGREEN,
                                   str(self.getAttr('height')) + ' cm')
         PrintTools.valueWithColor('IMC: ', Colors.OKGREEN,
                                   self.__imcResults[self.__getIMC()])
     return ''
Ejemplo n.º 10
0
# Después de haber creado la clase anterior, crea un fragmento de código que haga lo siguiente:
# ● Pide por teclado el nombre, la edad, el peso y la altura.
# ● Crea 3 objetos de la clase anterior, el primer objeto obtendrá las anteriores
# variables pedidas por teclado, el segundo objeto obtendrá todos los anteriores menos el peso y la altura, y el último por defecto, para este último utiliza los métodos set para darle a los atributos un valor.
# ● Para cada objeto, debe comprobar si está en su peso ideal, tiene sobrepeso o por debajo de su peso ideal con un mensaje.
# ● Indicar para cada objeto si es mayor de edad.
# ● Por último, mostrar la información de cada objeto.

import re
import random

import sys
sys.path.append('../../')

from printTools import PrintTools, Colors
PrintTools = PrintTools()
Colors = Colors()


class NifError(Exception):
    pass


class NoNumberError(Exception):
    pass


class Person:
    __imcResults = ["avarage", "overweight", "underweight"]

    def __init__(self, name, age, weight=0, height=0):
Ejemplo n.º 11
0
def getNumber(msg, error):
    try:
        return int(raw_input(msg))
    except ValueError:
        PrintTools.error(error)
        return 0