Ключами словаря не могут быть переменными. Точнее ключи словаря могут быть переменными, но эта переменная всё равно сохраняет ссылку на изначальный объект. То есть представим такой код
x = 'test'
dct = {x: 'not test'}
print(x)
print(dct[x])
вывод будет такой:
>>> test
>>> not test
Так как переменная x содержит ссылку на стоковый объект "test", и в то же время является ключом словаря dct, то при выводе на экран самой переменной будет выведено её значение, а если передать её как ключ словаря, то будет выведено значение словаря по этому ключу. Кстати, если вместе переменной x самостоятельно написать её значение, то вывод не изменится
print(dct['test'])
>>> 'not test'
Так же в вашем коде допущена ошибка объявления имени словаря. dict - ключевое слово интерпретатора, означающее класс Dictionary - словарь. Вы не можете использовать это слово в качестве имени.
Так же вы пытаетесь присвоить переменной Y значение, используя переменные x, k и b. Они не существуют в пространстве имён вашей программы. Если вы хотите использовать именно словарь, то используйте следующий код:
Answers & Comments
Ответ:
Ключами словаря не могут быть переменными. Точнее ключи словаря могут быть переменными, но эта переменная всё равно сохраняет ссылку на изначальный объект. То есть представим такой код
x = 'test'
dct = {x: 'not test'}
print(x)
print(dct[x])
вывод будет такой:
>>> test
>>> not test
Так как переменная x содержит ссылку на стоковый объект "test", и в то же время является ключом словаря dct, то при выводе на экран самой переменной будет выведено её значение, а если передать её как ключ словаря, то будет выведено значение словаря по этому ключу. Кстати, если вместе переменной x самостоятельно написать её значение, то вывод не изменится
print(dct['test'])
>>> 'not test'
Так же в вашем коде допущена ошибка объявления имени словаря. dict - ключевое слово интерпретатора, означающее класс Dictionary - словарь. Вы не можете использовать это слово в качестве имени.
Так же вы пытаетесь присвоить переменной Y значение, используя переменные x, k и b. Они не существуют в пространстве имён вашей программы. Если вы хотите использовать именно словарь, то используйте следующий код:
dct = { 'k' : int(input()), 'x' : int(input()), 'b' : int(input()) }
y = dct['k'] * dct['x'] + dct['b']
Либо, вы можете запросить ввод значений k, x, и b как переменных не используя словарь
k = int(input())
x = int(input())
b = int(input())
или
k, x, b = map(int, input().split())
Объяснение: