コード例 #1
0
def tests_for_hw5_solution1():
    u"""Тесты задачи 1"""
    petroff = Person("Petrov", "Petro", "1952-01-02")
    ivanoff = Person("Ivanov", "Ivan", "2000-10-20")
    sydoroff = Person("Sidorov", "S***n", "1980-12-31", "Senya")
    kozloff = Person("Kozlov", "Viktor", "1980-11-22", "Vitek")

    assert "first_name" in dir(petroff)
    assert "get_fullname" in dir(ivanoff)
    assert "nickname" not in dir(petroff)
    assert "nickname" in dir(sydoroff)

    assert petroff.surname == "Petrov"
    assert petroff.first_name == "Petro"
    assert petroff.get_fullname() == "Petrov Petro"
    assert sydoroff.nickname == "Senya"

    assert petroff.birth_date == datetime.date(1952, 01, 02)
    assert isinstance(petroff.birth_date, datetime.date)
    assert petroff.get_age() == "62"

    assert sydoroff.birth_date == datetime.date(1980, 12, 31)
    assert sydoroff.get_age() == "33"

    assert kozloff.get_age() == "33"


    print 'All is Ok!'
コード例 #2
0
ファイル: hw5_starter.py プロジェクト: sdeath666/homeworks
def runner():
    u"""Запускает выполнение всех задач"""
    sydoroff = Person("Sidorov", "S***n", "1980-12-31", "Senya")
    print sydoroff.get_fullname()
    print sydoroff.nickname
    print sydoroff.get_age()

    petroff = Person("Petrov", "Petro", "1952-01-02")
    print petroff.get_fullname()
    print petroff.get_age()
コード例 #3
0
ファイル: script.py プロジェクト: sdeath666/homeworks
def runner():
    u"""Запускает выполнение всех задач"""
    input_data =("Sidorov", "S***n", "1980-12-31", "Senya")
    print input_data

    if len(input_data) == 3:
    	nicname = ''
    else:
    	nicname = input_data[3]

    result = Person(input_data[0], input_data[1], input_data[2], nicname)

    print result.birth_date

    print result.get_age()
    print result.get_fullname()
コード例 #4
0
def modifier(filename):

    f = open(filename, 'r+')
    reader = csv.DictReader(f)

    # read
    rows = []
    for row in reader:
        rows.append(row)

    f.seek(0)

    # add age and full name
    for row in rows:
        p = Person(row['surname'], row['name'], row['birthdate'])
        row['age'] = p.get_age()
        row['full_name'] = p.get_fullname()

    # write
    writer = csv.DictWriter(
        f,
        ['id', 'surname', 'name', 'full_name', 'birthdate', 'nickname', 'age'])
    writer.writeheader()
    for row in rows:
        writer.writerow(row)

    f.close()
コード例 #5
0
def modifier(filename):

    f = open(filename, 'r+')
    reader = csv.DictReader(f)

    # read
    rows = []
    for row in reader:
        rows.append(row)

    f.seek(0)

    # add age and full name
    for row in rows:
        p = Person(row['surname'], row['name'], row['birthdate'])
        row['age'] = p.get_age()
        row['full_name'] = p.get_fullname()

    # write
    writer = csv.DictWriter(f, ['id','surname','name', 'full_name', 'birthdate','nickname','age'])
    writer.writeheader()
    for row in rows:
        writer.writerow(row)

    f.close()
コード例 #6
0
ファイル: hw5_tests.py プロジェクト: nik-weter/pybursa
def tests_for_hw5_solution1():
    u"""Тесты задачи 1"""
    petroff = Person("Petrov", "Petro", "1952-11-12")
    ivanoff = Person("Ivanov", "Ivan", "2000-10-20")
    sydoroff = Person("Sidorov", "S***n", "1980-12-31", "Senya")

    assert "first_name" in dir(petroff)
    assert "get_fullname" in dir(ivanoff)
    assert "nickname" not in dir(petroff)
    assert "nickname" in dir(sydoroff)

    assert petroff.surname == "Petrov"
    assert petroff.first_name == "Petro"
    assert petroff.get_fullname() == "Petrov Petro"
    assert sydoroff.nickname == "Senya"

    assert petroff.birth_date == datetime.date(1952, 11, 12)
    assert isinstance(petroff.birth_date, datetime.date)
    assert petroff.get_age() == "65"
コード例 #7
0
ファイル: hw6_solution1.py プロジェクト: sdeath666/homeworks
def modifier(filename):
    u"""Получает строку c адресом файла и изменяет согласно условиям задачи."""
    with open(filename, 'r') as csvfile:
        data = []
        index_fullname = 0

        for i in csv.reader(csvfile):
            if not i[0].isdigit():
                index_fullname = i.index('name') + 1
                i.insert(index_fullname, 'fullname')
                i.append('age')
            else:
                p = Person(*i[1:])
                i.insert(index_fullname, p.get_fullname())
                i.append(p.get_age())
            data.append(i)

    with open(filename, 'w') as csvfile:
        wdata = csv.writer(csvfile)
        wdata.writerows(data)
コード例 #8
0
ファイル: hw5_tests.py プロジェクト: Alrem/homeworks
def tests_for_hw5_solution1():
    u"""Тесты задачи 1"""
    petroff = Person("Petrov", "Petro", "1952-01-02")
    ivanoff = Person("Ivanov", "Ivan", "2000-10-20")
    sydoroff = Person("Sidorov", "S***n", "1980-12-31", "Senya")

    assert "first_name" in dir(petroff)
    assert "get_fullname" in dir(ivanoff)
    assert "nickname" not in dir(petroff)
    assert "nickname" in dir(sydoroff)

    assert petroff.surname == "Petrov"
    assert petroff.first_name == "Petro"
    assert petroff.get_fullname() == "Petrov Petro"
    assert sydoroff.nickname == "Senya"

    assert petroff.birth_date == datetime.date(1952, 01, 02)
    assert isinstance(petroff.birth_date, datetime.date)
    assert petroff.get_age() == "62"
    print "Tests completed successfully"
コード例 #9
0
def modifier(filename):
    u"""Получает строку c адресом файла и изменяет согласно условиям задачи."""
    with open(filename, 'r') as csvfile:
        data = []
        index_fullname = 0

        for i in csv.reader(csvfile):
            if not i[0].isdigit():
                index_fullname = i.index('name') + 1
                i.insert(index_fullname, 'fullname')
                i.append('age')
            else:
                p = Person(*i[1:])
                i.insert(index_fullname, p.get_fullname())
                i.append(p.get_age())
            data.append(i)

    with open(filename, 'w') as csvfile:
        wdata = csv.writer(csvfile)
        wdata.writerows(data)
コード例 #10
0
ファイル: hw6_solution1.py プロジェクト: sdeath666/homeworks
def modifier(file):
    """
     This function accepts a csv file and modifies it according to the task:
    creates Person classes, adds fullname and age columns
    """
    fp = open(file, "r")
    csv_reader = csv.reader(fp)
    new = []
    for i in csv_reader:
        if i[0] == "id":
            index = i.index('name') + 1
            i.insert(index, "fullname")
            i.append("age")
        else:
            person = Person(*i[1:])
            i.insert(index, person.get_fullname())
            i.append(person.get_age())
        new.append(i)

    fw = open(file, "w")
    csv_writer = csv.writer(fw)
    for i in new:
        csv_writer.writerow(i)
コード例 #11
0
def modifier(file):
    """
     This function accepts a csv file and modifies it according to the task:
    creates Person classes, adds fullname and age columns
    """
    fp = open(file, "r")
    csv_reader = csv.reader(fp)
    new = []
    for i in csv_reader:
        if i[0] == "id":
            index = i.index('name') + 1
            i.insert(index, "fullname")
            i.append("age")
        else:
            person = Person(*i[1:])
            i.insert(index, person.get_fullname())
            i.append(person.get_age())
        new.append(i)

    fw = open(file, "w")
    csv_writer = csv.writer(fw)
    for i in new:
       csv_writer.writerow(i)