Найти - Пользователи
Полная версия: Функция не записывает введенные данные в переменную
Начало » Python для новичков » Функция не записывает введенные данные в переменную
1
iknski
Добрый день. Я новичок в программировании. Решил написать небольшую консольную программу для работы. Сначала сделал простой набор 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), то он показывает то значение, которое я объявил в начале.
Rafik
Функция, чаще всего, возвращает значение, а не присваивает. Зачем такой финт ушами, как присваивание? Можно же в конце твоей функции добавить return value и она будет возвращать введённое пользователем значение. В этом случае необходимость в первом аргументе отпадает. После доделки твоей функции попробуй выполнить:
x = change('номинала', 100, 50)
print(x)
iknski
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)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB