Уведомления

Группа в Telegram: @pythonsu

#1 Июль 24, 2020 17:27:15

iknski
Зарегистрирован: 2020-07-24
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция не записывает введенные данные в переменную

Добрый день. Я новичок в программировании. Решил написать небольшую консольную программу для работы. Сначала сделал простой набор if/else - все работало. Решил упростить нагромождение строк и свести все к функции. И все сломалось )) Функция не записывает введенные значения в переменную. Пожалуйста помогите понять. Спасибо.

 def change(value, name, a, b):
    value = input(f'Выберите нужные цифры для выбора {name} ТС - (1 или 2)\n'
                  f'1 - {a}\n'
                  f'2 - {b}\n'
                  f'Введите цифру сюда: ')
change(nominal_tc, 'номинала', 100, 50)
change(material_tc, 'материала ЧЭ', 'Медь', 'Платина')
Если сделать print(nominal_tc), то он показывает то значение, которое я объявил в начале.

Отредактировано iknski (Июль 24, 2020 17:30:38)

Офлайн

#2 Июль 24, 2020 17:48:43

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Функция не записывает введенные данные в переменную

Функция, чаще всего, возвращает значение, а не присваивает. Зачем такой финт ушами, как присваивание? Можно же в конце твоей функции добавить return value и она будет возвращать введённое пользователем значение. В этом случае необходимость в первом аргументе отпадает. После доделки твоей функции попробуй выполнить:

x = change('номинала', 100, 50)
print(x)

Офлайн

#3 Июль 25, 2020 18:18:28

iknski
Зарегистрирован: 2020-07-24
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция не записывает введенные данные в переменную

Rafik
о
Сделал как вы подсказали и все заработало.
 def change(name, a, b):
    value = input(f'Выберите нужные цифры для выбора {name} ТС - (1 или 2)\n'
                  f'1 - {a}\n'
                  f'2 - {b}\n'
                  f'Введите цифру сюда: ')
    return value
    nominal_tc = change('номинала', 100, 50)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version