• Сложить и вывести результат?

    Sadatake
    @Sadatake
    Вы опредили что по умполчанию "full_name = None, age = 0, gender = None, profit = 0, credit_history = 0, credit_amount = 0, points = 0"
    Это удобно, если в класс поступает сразу все данные которые необходимы, и только если что-то не было введёно, тогда будет значение 0. В ином случае, лучше так не делать.
    И при вызыве этого класса, все ваши данные перезаписываются на None или 0. Как и было написано выше, нужно обращаться не к самому классу, а не посредственно к атрибутам экземпляра :3
    Есть вот этот сайт, на нём можно проверить, что куда сохраняется в визуально понятном формате.
    Кстати, заметил что в методе credit_history_conditions применяется lower и upper, однако сравнивается с "Да", что ни то, ни другое :D
    Ответ написан
    Комментировать
  • Сложить и вывести результат?

    MinTnt
    @MinTnt
    Ну что сказать... Даже не знаю с чего начать... С того, что вы каждый раз перезаписываете одну и ту же переменную, начиная так сказать с нуля или с...

    Ладно, решения есть два.
    1) Задавать нужные данные не через перезапись переменной и вызовом класса, а посредством bank_client.age =, bank_client.full_name =,
    т.е.
    bank_client = Client()
    bank_client.full_name = input('Введите ваше ФИО: ')
    bank_client.age = int(input('Введите ваш возраст: '))
    bank_client.age_conditions()
    print(bank_client.points)
    bank_client.gender = input('Введите ваш пол (М/Ж): ')
    bank_client.gender_conditions()
    print(bank_client.points)
    bank_client.profit = int(input('Введите ваш ежемесячный доход: '))
    bank_client.profit_conditions()
    print(bank_client.points)
    bank_client.credit_history = input('Имеется ли у вас кредитная история: ')
    bank_client.credit_history_conditions()
    print(bank_client.points)
    bank_client.credit_amount = int(input('Сумма кредита: '))
    bank_client.credit_amount_conditions()
    print(bank_client.points)
    bank_client.credit_result()

    2) В каждом следующем перезаписывании переменной, добавлять полученные из предыдущего вызова данные. Ну или же к примеру просто передавать каждой следующей функции points. Но как по мне, это лишняя работа
    bank_client = Client()
    bank_client = Client(full_name = input('Введите ваше ФИО: '))
    bank_client = Client(age = int(input('Введите ваш возраст: ')), full_name=bank_client.full_name)
    bank_client.age_conditions()
    print(bank_client.points)
    bank_client = Client(gender = input('Введите ваш пол (М/Ж): '), full_name=bank_client.full_name, age=bank_client.age, points=bank_client.points)
    bank_client.gender_conditions()
    print(bank_client.points)
    bank_client = Client(profit = int(input('Введите ваш ежемесячный доход: ')),full_name=bank_client.full_name, age=bank_client.age, gender = bank_client.gender, points=bank_client.points)
    bank_client.profit_conditions()
    print(bank_client.points)
    bank_client = Client(credit_history = input('Имеется ли у вас кредитная история: '), full_name=bank_client.full_name, age=bank_client.age, gender = bank_client.gender, profit = bank_client.profit, points=bank_client.points)
    bank_client.credit_history_conditions()
    print(bank_client.points)
    bank_client = Client(credit_amount = int(input('Сумма кредита: ')), full_name=bank_client.full_name, age=bank_client.age, gender = bank_client.gender, profit = bank_client.profit, credit_history=bank_client.credit_history, points=bank_client.points)
    bank_client.credit_amount_conditions()
    print(bank_client.points)
    bank_client.credit_result()


    P.s. Хоть и видно что первый варянт решения лучше. Но просто я решил, что раз автор хочет через перезапись переменной, не буду уж ему отказывать.
    Ответ написан
    Комментировать
  • AttributeError: 'str' object has no attribute как искправить?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Во-первых, в purchase лежит строка, после того как сделали input
    В классе имя purchase не определно, о чем говорит редактор
    self.usd*70 ничего не изменяет
    purchase.exchange_usd() не передали аргументы
    self.usd*70 умножает строку "usd" 70 раз
    Ответ написан
    Комментировать
  • AttributeError: 'str' object has no attribute как искправить?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Вы затёрли в переменной purchase объект класса Converter строкой из input'а.
    Ответ написан
    Комментировать
  • Вывод данного из списка?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Вместо списка, можно использовать словарь, будет проще:
    electronics_store = {1:'Samsung S9+',2:'Samsung S10',3:'Samsung S20Ultra',
    					4:'Samsung S20+',5:'Samsung S20',6:'Huawei P30',7:'iPhoneX',
    					8:'iPhone11',9:'iPhone12ProMax',10:'iPhoneSE'}
    
    n = int(input('Введите число от 1 до 10: '))
    print(electronics_store.get(n,'Неправильный ввод!'))
    Ответ написан
    Комментировать
  • Вывод данного из списка?

    @GlamorousCar
    n = int(input('Введите число от 1 до 10: '))
    if n <=10 and n >=1:
      print(electronics_store[n-1])
    else:
      print('Неправильное число')
    Ответ написан
    Комментировать