Python

Что нужно сделать что-бы программа работала?

Я только начал изучать Python и решил написать что-то на подобие программы) Но что-то не вышло
Вот пример программы:
print("Дарова, сейчас мы поколдуем")
a = "Это просто бред"
b = "Не обращай внимание"
c = "Все скучно"
e = "Ты просто король"
d = "Выключай программу"
f = "Просто беги"
g = "Я устал это писать"
h = "Я забыл алфавит"
i = "Аааааааа"
j = "Ладно"
k = "Лучше покушай"
l = "Возьми чаю"
m = "Возьми кофе"
n = "Лучше поспи"
o = "Зайди в ВК"
p = "Начни учится"
q = "Займись спортом"
r = "Почитай книгу"
s = "Выйди на улицу"
t = "Уберись в комнате"
u = "Выключи телевизор"
v = "Помойся"
w = "Улучши речь"
x = "Выучи стих"
z = "Займись собой"
print("Сейчас можешь ввести любую букву из английского алфавита")
input ("Вводи буквy" "a, b, c, d, e, f, g, i, j, k, l, m, n, o, p, q, h, r, s, t, u, v, w, x, w, y, z" )

Сама программы по идее должна по просить у тебя любую из букв и выдать то, что означает та или иная буква. НО! Когда я ее запускаю и ввожу букву и программа просто закрывается. Что надо сделать что-бы получить желаемый результат?
Ты пытаешься обратиться к переменной по ее _имени_, взяв это имя со стандартного ввода с клавиатуры.
За исключением каких-то очень индивидуальных / специальных случаев, это не самая лучшая идея.
Проще, например, сделать так:

---------

message = {}
print("Дарова, сейчас мы поколдуем")
message['a'] = "Это просто бред"
message['b'] = "Не обращай внимание"
message['c'] = "Все скучно"
message['e'] = "Ты просто король"
message['d'] = "Выключай программу"
print("Сейчас можешь ввести любую букву из английского алфавита")
req = input("Введи букву - ")
print(message[req])

---------

Сначала ты определишь пустой объект message типа dict - тебе сейчас достаточно знать, что он отличается от list тем, что в качестве индекса могут быть не только числа, но и буквы.
Дальше ты забиваешь "ячейки" с соответствующими индексами, обращаясь напрямую к message['a'], message['b'] и т. д.

После этого ты просишь ввести букву с клавиатуры, записывая ее в переменную req
А дальше пытаешься вывести на экран содержимое ячейки твоего dict'a с индексом, хранящимся в переменной req.

Это далеко не самое оптимальное решение, но оно должно работать.
Если ты работаешь в Python 2.7, то замени input на raw_input.
Алмаз Бурибаев
Алмаз Бурибаев
5 585
Лучший ответ
Николай Васильченко я так понимаю если человек только начал изучать питон то о словарях он еще не имеет понятия. как вариант можно использовать спмсок и просить ввести цифру и выводить элемент по индексу но думаю еще тоже до этого не дошел автор
вывод то где
вывод соответствующей переменной то сделайте.
это не буква, а переменная. с чего бы программе вам выдать значение переменной, если этого нет в коде.
Владимир Лебедев Что это? Я только начал учить питон
Бактыбек Молдоташов поменяй последнюю строку на ту что ниже и допиши еще две после нее
bukva=input ("Вводи буквy" ,"a, b, c, d, e, f, g, i, j, k, l, m, n, o, p, q, h, r, s, t, u, v, w, x, w, y, z" )
print(bukva)
input('нажмите любую кнопку для выхода')
чтобы работала надо условия создать
print("Дарова, сейчас мы поколдуем")
vvod=input ("Вводи буквy,a, b, c, d, e, f, g, i, j, k, l, m, n, o, p, q, h, r, s, t, u, v, w, x, w, y, z>>>")
if vvod== ' a ' :
....print("Это просто бред")
if vvod== ' b ' :
....print( "Не обращай внимание")
if vvod== ' c ' :
....print( "Все скучно")
и так весь список
последнее можешь дописать
else :
....print ('нет такой буквы')
это если введут цифру или то чего нет в твоем условии
Malik Mahmaderov
Malik Mahmaderov
1 326