Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
ЗВІТ
З лабораторної роботи №1
з курсу «Програмування скриптовими мовами»
Інсталяція інтерпретатора Python та знайомство з інтегрованим середовищем розробки IDLE. Правила PEP 8
Підготував :
Ст. гр. КБ-302
Кобринович Р.В.
Прийняв:
Совин Ярослав Романович
2024
Мета роботи:
Ознайомитись з послідовністю налаштування інструментів та створення програмного забезпечення мовою Python в середовищі IDLE. Вивчити правила оформлення коду та інструменти для автоматичного аналізу коду на відповідність вимогам і правилам.
Результат роботи програми:
Вивести рядок з ПІБ студента та групою у форматі “Кобринович Роман Володимирович КБ-302” з допомогою консолі Python, у командному рядку IDLE, через запуск файлу в середовищі IDLE та навести відповідні скірншоти, які підтверджують працездатність інстальованих програм.
/
Встановити з допомогою pip лінтери pylint та ruff.
/
Лістинг файлу test_pep8_my.py після виправлень
'''Тестовий файл для ознайомлення з правилами форматування і оформлення
коду згідно Python Enhancement Proposals
PEP 8 – Style Guide for Python Code.'''
# максимальна кількість символів в рядку - 79, табулював
import string
import time # розділив імпорти
shift = 3
PI = 3.14 # добавив пробіл між =
# 2 відступи між частинами
def print_time(time_now):
if time_now:
print(time.ctime())
def main():
choice_mode = input("would you like to encode or decode?") # змінна з маленької
word = input("Please enter text")
LETTERS = string.ascii_letters + string.punctuation + string.digits # константа по ідеї
encoded = ""
if choice_mode == "encode":
for letter in word:
if letter == " ":
encoded = encoded + " "
else:
encoded_symvol = LETTERS.index(letter) + shift # не корректна назва змінної
encoded = encoded + LETTERS[encoded_symvol]
if choice_mode == "decode": # SyntaxWarning: "is" with a literal. Did you mean "=="?
for letter in word:
if letter == " ":
encoded = encoded + " "
else:
encoded_symvol = LETTERS.index(letter) - shift # не корректна назва зміної
encoded = encoded + LETTERS[encoded_symvol]
print(encoded)
print(word) # word a ne Word
if __name__ == '__main__':
main()
Лістинг файлу test_pep8.py з коментарями про виявлені відхилення від РЕР 8
'''Тестовий файл для ознайомлення з правилами форматування і оформлення
коду згідно Python Enhancement Proposals
PEP 8 – Style Guide for Python Code.'''
# максимальна кількість символів в рядку - 79, табулював
import math # ne use))
import os # ne use))
import string
import time # розділив імпорти
shift = 3
PI = 3.14 # добавив пробіл між =
# 2 відступи між частинами
def print_time(time_now): # функції з маленької букви, розділяти слова через _, не називати змінні не зрозуміло
if time_now: # == тру для чого??, 4 відступи(табуляція)
print(time.ctime()) # забрав пробіли в дужках, 4 відступи(табуляція)
return # 4 відступи(табуляція)
def main():
choice_mode = input("would you like to encode or decode?") # змінна з маленької
word = input("Please enter text")
LETTERS = string.ascii_letters + string.punctuation + string.digits # константа по ідеї
encoded = ""
if choice_mode == "encode":
for letter in word:
if letter == " ":
encoded = encoded + " "
else:
encoded_symvol = LETTERS.index(letter) + shift # не корректна назва змінної
encoded = encoded + LETTERS[encoded_symvol]
y = encoded_symvol + 5 # не корректна назва зміної + ніде не використовується
if choice_mode == "decode": # SyntaxWarning: "is" with a literal. Did you mean "=="?
for letter in word:
if letter == " ":
encoded = encoded + " "
else:
encoded_symvol = LETTERS.index(letter) - shift # не корректна назва зміної
encoded = encoded + LETTERS[encoded_symvol]
y = encoded_symvol - 5 # не корректна назва зміної + ніде не використовується
print(encoded)
print(word) # word a ne Word
if __name__ == '__main__':
main()
Скріншоти роботи pylint та ruff для файлів test_pep8.py та test_pep8_my.py
/
/
//
//
Висновок:
У ході виконання лабораторної роботи я ознайомився з послідовністю налаштування інструментів та створення програмного забезпечення мовою Python в середовищі IDLE. Вивчив правила оформлення коду та інструменти для автоматичного аналізу коду на відповідність вимогам і правилам.