# 1. Зачем нужен этот класс? Чтобы было? Это ошибка. Тут не нужен класс.
class ProgrammForTest():
# 2. Зачем вы передаете параметры в конструктор и сохраняете в объекте,
# если потом все равно запрашиваете их у пользоваетля? Никакого смысла!
def __init__(self,a, b, c, ball):
self.a = a
self.b = b
self.c = c
self.ball = ball
def enter(self):
# 3. Что это за метод? Зачем он нужен? Куда вы входите тут?
# Прочитайте про чистые функции.
self.a = int(input("Введи количество вопросов\n>"))
self.b = int(input("Введи количество правильных ответов\n>"))
self.ball = int(input("Какая у вас система оценивания вводите цифрой(5, 12)\n>"))
c = int(((self.b/self.a)*100))
# 4. нельзя так делать. При приведении к целому дробная часть просто отбрасывается
# тогда, к примеру int(83.999) = 83, а на самом деле оно ближе к 84. Нужно округлять.
# А тут даже это не нужно
if self.ball == 12: #Если система двенадцатибальная обрабатывается данный кусок кода
if 100 >= c >= 92: #Если процент равен диапазону от 100 до 92, то выводится оценка которая была рассчитана на калькуляторе
print("Ваша оценка: 12") #Следующие условия делают тоже самое: Диапазон, оценка
# 5. Зачем здесь и ниже проверять каждый раз ОБЕ границы слева и справа?
# Вы же одну границу уже проверили выше!
elif 92 >= c >= 84:
# 6. Такие вещи как пересчет в баллы, нужно делать отдельной функцией и возвращать в виде
# числа. А вы печатаете. А что если надо будет еще одно число в баллы преобразовать?
print("Ваша оценка: 11")
elif 84 >= c >= 79:
# 7. Вам нужно освоить такое понятие, как пропорция, тогда все эти строки сравнений можно было бы
# записать одной единственной формулой. И даже если нет, то можно задать таблицу списком и
# искать в нём ближайшее значение.
print("Ваша оценка: 10")
elif 79 >= c >= 67:
print("Ваша оценка: 9")
elif 67 >= c >= 62:
print("Ваша оценка: 8")
elif 62 >= c >= 58:
print("Ваша оценка: 7")
elif 58 >= c >= 46:
print("Ваша оценка: 6")
elif 46 >= c >= 41:
print("Ваша оценка: 5")
elif 41 >= c >= 33:
print("Ваша оценка: 4")
elif 33 >= c >= 25:
print("Ваша оценка: 3")
elif 25 >= c >= 16:
print("Ваша оценка: 2")
elif c < 16:
print("Ваша оценка: 1")
elif self.ball == 5: #Если пятибальная система, то производится всё тоже самое: Диапазон, оценка
if 100 >= c >= 84:
print("Ваша оценка: 5")
elif 84 >= c >= 67:
print("Ваша оценка: 4")
elif 67 >= c >= 50:
print("Ваша оценка: 3")
elif 50 >= c >= 0:
print("Ваша оценка: 2")
# 8. Вы создали класс с кучей аргументов в конструкторе, а ничего не передаёте ему при инстанцировании.
a = ProgrammForTest()
# 9. Зачем тут класс и метод? Ради того чтобы было? В программе ничего лишнего быть не должно.
# Весь ненужный код - это просто лишний мусор для восприятия человеком и лишнее место для ошибок.
a.enter()
# 10. Зачем сохранять в переменную значение, которое не нужно?
dont_exit = input("Press 'Enter' to exit")
$ telnet 5.165.233.230 8080
Trying 5.165.233.230...
telnet: Unable to connect to remote host: Connection timed out
ping 1.1
В данном случае автор видел у машин дым и теперь пытается накурившись привязать свой дым скотчем к выхлопной трубе, чтобы машина поехала.