O Putty é um cliente SSH e Telnet muito leve para utilizar. O download pode ser feito aqui.

Interface do Putty

Com o Putty, você pode acessar remotamente por meio do Windows o seu servidor Linux. Muito fácil de usar. Recomendo.

Tags: , ,

Mais um problema do Coding Kata solucionado. Apesar deste problema estar no Beginner ++  ele é muito mais fácil que muitos do Beginner. Uma linha de código foi suficiente para resolvê-lo.

Veja o código abaixo e teste à vontade. Disponível no Git também.

import unittest

def ISBN(isbn):
    """
    Autor: fzmaster
    Data: 29/12/2010
    Problema: Books for Mars

http://codingkata.org/katas/unit/mars-books

    Calcular digito verificador do ISBN
    """
    return (10-(3*(int(isbn[1]) + int(isbn[3]) + int(isbn[5]) + int(isbn[7]) + int(isbn[9]) + int(isbn[11])) + int(isbn[0]) + int(isbn[2]) + int(isbn[4]) + int(isbn[6]) + int(isbn[8]) + int(isbn[10])) % 10) % 10 

class ISBNTestCase(unittest.TestCase):

    def test_caso1(self):
        assert ISBN('978030640615') == 7
    def test_caso2(self):
        assert ISBN('978857780013') == 1
    def test_caso3(self):
        assert ISBN('978857522247') == 8
    def test_caso4(self):
        assert ISBN('978857522212') == 6

if __name__ == '__main__':
    unittest.main()
Tags: , , , ,

O Python não tem nativamente variáveis do tipo Enum.

Entretanto é possível instalar um módulo que pode solucionar este problema. Siga os passos abaixo:

  • Instale o Python;
  • Instale o SettupTools
  • Baixe o Enum (versão atual: 0.4.4) e descompacte-o
  • Abra o prompt e dentro do diretório do Enum digite:
    • Linux: $ python setup.py install
    • Windows: C:\diretorio\> python setup.py install

Pronto, você instalou o módulo corretamente.

Agora você pode testá-lo.

Abra outro prompt e digite:

$ python

>>> import enum

>>>

Se não subiu erros, a importação foi feita com sucesso.

Tags: , , ,

Mais um problema do Coding Kata solucionado. Ainda estamos no Beginner ++  mas estamos fazendo todos, um a um, calmamente.

Veja o código abaixo e teste à vontade.

Só lembrando que para este código foi instalado o módulo Enum. Aproveite e baixe-o. Clique aqui para ver como instalar este módulo em Python.

O código também está disponível no Gist.

import unittest
from enum import Enum

class Cinema():
    """
    Autor: fzmaster
    Data: 28/12/2010
    Problema: Movie Tickets

http://codingkata.org/katas/unit/movie-tickets

    Calcular o valor do ingresso do cinema dadas as condicoes pre estabelecidas
    """
    precoTicket = 0.00
    pessoas = 0
    precoTotal = 0.00
    dias = Enum('DOM', 'SEG', 'TER', 'QUA', 'QUI', 'SEX', 'SAB')
    dia = ''

    def startPurchase(self, runtime, day, isParquet, is3D):
        """
        Explicacao da funcao
        """
        self.dia = day
        if runtime > 120:
            self.precoTicket += 1.50
        if bool(is3D):
            self.precoTicket += 3.00
        if not bool(isParquet):
            self.precoTicket += 2.00
        if str(self.dia) == str(self.dias[4]):
            self.precoTicket -= 2.00

    def addTicket(self, age, isStudent):
        precoPadrao = 0.00
        if bool(isStudent):
            precoPadrao = 8.00
        else:
            precoPadrao = 11.00
        if age >= 65:
            precoPadrao = 6.00
        elif age <= 13:
            precoPadrao = 5.50
        self.pessoas +=1
        self.precoTotal += precoPadrao + self.precoTicket

    def finishPurchase(self,):
        if self.pessoas >= 20 and str(self.dia) == str(self.dias[4]):
            self.precoTotal += self.pessoas*2.00
        return self.precoTotal

class MovieTestCase(unittest.TestCase):

    def test_movie1(self):
        compra = Cinema()
        compra.startPurchase(130,'TER', False, True)
        compra.addTicket(14,True)
        compra.addTicket(30,False)
        assert compra.finishPurchase() == 32.00

if __name__ == '__main__':
    unittest.main()
Tags: , , , ,

Mais um problema do Coding Kata resolvido.

Agora foi o The Cube que consiste em determinar se a soma dos dígitos da entrada são primos.

Confira o código abaixo que também está disponível no Gist.

import unittest

def ePrimo(valor):
    for i in range(2, valor/2 +1):
        if  (valor % i) == 0:
            return False
        return True

def CPN(codigo1, codigo2, codigo3):
    """
    Autor: fzmaster
    Site: http://www.fzmaster.info
    Data: 26/12/2010
    Problema: The Cube

http://codingkata.org/katas/unit/cube

    Dados 3 codigos (string) , verificar se algum deles eh primo. Se for retorna True, caso contrario False
    """
    total1 = total2 = total3 = 0
    for i in codigo1:
        total1 += int(i)
    for j in codigo2:
        total2 += int(j)
    for k in codigo3:
        total3 += int(k)

    if ePrimo(total1) or ePrimo(total2) or ePrimo(total3):
        return True
    else:
        return False

class ContainPrimeNumberTestCase(unittest.TestCase):

    def test_1(self):
        assert CPN('12','4','4') == False
    def test_2(self):
        assert CPN('123','4','4') == False
    def test_3(self):
        assert CPN('31','7','4') == True

if __name__ == '__main__':
    unittest.main()