Форум сайта python.su
0
JOHN_16 eval() здесь находит значение, связанное с именем ‘a’ и тупо возвращает его, а не имя переменной. Попробуйте применить eval() в переложении на мой пример четырьмя комментариями выше.
Как бы там ни было, похоже, что умолчания из заголовка функции изменять так или нельзя, или слишком заморочно. Реализовал со словарем-посредником вот так:
from collections import OrderedDict def dictDefaults(): defaults = OrderedDict([('a: ', 11), ('b: ', 22)]) if input('Использовать значения по умолчанию? д/н ') == 'н': for key in defaults: defaults[key] = int(input(key)) else: print('Будут использованы значения по умолчанию.') a, b = tuple(defaults.values()) # тут можно что-то делать дальше или передать значения другой функции
Офлайн