Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

python

.pdf
Скачиваний:
32
Добавлен:
15.01.2018
Размер:
646.24 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

Федеральное государственное бюджетное образовательное учреждение

высшего образования «Московский авиационный институт (национальный исследовательский университет)»

Институт «Информационных систем и технологий» Кафедра «Технологии интегрированных автоматизированных систем»

Отчет по лабораторной работе №1 «Расчет статического момента»

По курсу: «Инновационный менеджмент»

Выполнил

Вакурин А.О

Студент группы:

3ИВТ-3ДБ-009

Проверил:

Цырков А.В

Москва 2017

Содержание

 

Введение ..........................................................................................................

3

Результат……….…………………………………...............................................................

4

Вывод………..…………………………………… ................................................................

6

Литература………..…………………………………… ........................................................

7

2

Введение

Дан файл формата csv, который был создан в программе СПТД (рисунок

1).

Файл имеет 20 столбцов: Nп/п, ELRHds, PREDds, IPds, TendDS, TbegDS,Tшт, Tпз, prDprD, Tseh, NRANds, PARTds, ISPкви, ISPпи, КОЛds, SPECds, Обозначение, Наименование, Счет, Заказ, ПризнакПартИсп. Количество записей в таблице равняется 367.

Рис1. Файл csv

Задача:

1.Необходимо произвести парсинг файла с помощью языка программирования (Python).

2.Посчитать статический момент, стоимость проекта, количество дней проекта.

3.Задать аргументы для ввода файла, для ввода зарплаты в н/ч в диапазоне от 500 до 1500 рублей и ставки рефинансирования в диапазоне от 5 до

15.

4.Сделать обработку исключений.

3

Результат

Воспользуемся библиотекой pandas, sys, numpy для обработки csv файла.

Работа pandas с данными строится поверх библиотеки NumPy, являющейся инструментом более низкого уровня. Pandas предоставляет специальные структуры данных и операции для манипулирования числовыми таблицами и временными рядами. Название библиотеки происходит от эконометрического термина «панельные данные», используемого для описания многомерных структурированных наборов информации.

Листинг программного кода.

import pandas as pd import numpy as np import csv

import sys

result=0

result2=0

b=[] num = 1 d=0 day=0

tend_max=0 tmin_min=200 bank2=0

def scv_data(): while 1:

try:

a=str(input('Введите название файла = ')) data = pd.read_csv(a, sep=';', decimal=',',

encoding='cp1251', header=1) print('Файл',a,'обнаружен') return data

except (IOError, Exception):

print('Файл не обнаружен. Повтори еще раз')

def salary(): while 1: try:

b=int(input('Введите зарплату н/час от 500 до 1500 = ')) if (b>=500 and b<=1500):

print('Ставка заработной платы в размере',b,'принята') return b

except (IOError, Exception): print('Введи корректное число')

def rate_bank(): while 1:

try:

d=int(input('Введи ставку рефинансирования от 5 до 15% годовых = '))

if (d<=15 and d>=5):

4

print('Ставка рефинансирования', d, 'принята') return d

except [IOError, Exception]: print('Введи корректное число')

data = scv_data() salary = salary() bank = rate_bank()

for index, row in data.iterrows():

row[4] = float(row[4].replace(' ', '')) # TendDS row[6] = float(row[6].replace(' ','')) # Tш row[7] = float(row[7].replace(' ', '')) # Тпз row[14]= float(row[14].replace(' ', '')) # КОЛds row[5] = float(row[5].replace(' ', '')) # Тпз

if row[5]>tend_max: tend_max=row[5]

if row[4] < tmin_min: tmin_min = row[4]

day=tend_max-tmin_min year = day / 365

bank2 = bank * year

result += (row[4] * (row[6] * row[14] + row[7])) # Статический

момент

result2 += ((row[4] * bank2)* (row[6] * row[14] + (row[7]*salary))) # Результат

result=round(result,2)

result2=round(result2,2)

year=round(year,2)

print ('Максимальное кол-во дней =', tend_max) print ('Минимальное кол-во дней =', tmin_min) print ('Итог дней', day,'в годах',year)

print('Статический момент = ', result, ' н.ч на смену') print('Стоимость проекта = ',result2, 'рублей')

Результат работы программы, запушенный в среде PyCharm продемонстрирован на рисунке 2.

Рис2. Результат работы программы

5

В последние время появилась интересная записная книжка для работы с python - python notebook. Jupyter notebook позволяет разрабатывать,

документировать и выполнять приложения на языке Python, он состоит из двух компонентов: веб-приложение, запускаемое в браузере, и ноутбуки – файлы, в которых можно работать с исходным кодом программы, запускать его, вводить и выводить данные.

Результат работы программы в Jupyter представлен на рисунок 3.

Рис3. Программа в Jupyter

Вывод

Произведен парсинг csv файла с помощью языка программирования python, произведен подсчет статического момента, произведен подсчет минимального и максимального количества дней проекта, произведен подсчет стоимости проекта, реализована функция обработки исключений.

При введенной зарплате 500р и процентной ставки 10% годовых, статический момент равен 305910 нормо-час на смену, а стоимость проекта равняется 1159225 рублей.

6

Литература

1.Гифт Ноа Python в системном администрировании

2.Марк Лутц. Изучаем Python, 4-е издание

3.Марк Лутц. Программирование на Python (4-е издание)

7

Соседние файлы в предмете Инновационный Менеджмент