Zubchick
c=getch() # Ожидается ввод
If c == 'a':
index = 0
elif c == 'b':
index == 1
elif c == 'c':
index == 2
print list_1[index].title()
Насчет несрабатывания с другими буквами:
При вводе ‘других букв’ получаем это: NameError: name ‘index’ is not defined
Zubchick
Март 1, 2010 22:06:04
я имел ввиду, если бы были буквы ‘a’, ‘r’, ‘z’ такой хитрый хак не прокатил бы :)
Ну да. В случае с ‘a’, ‘r’, ‘z’ я бы использовал find. все короче, чем 3 if-а писать.
Zubchick
Март 1, 2010 22:51:12
Ну да. В случае с 'a', 'r', 'z' я бы использовал find. все короче, чем 3 if-а писать.
ну до find я не додумался, конечно, но это будет явно более правильный способ. а с ord - это грязный хак :)
bazooka
Март 1, 2010 23:01:16
нах find, нах ord, dict - спасение
foo = {'a': 0, 'b': 1, 'c': 2}
c=getch() # Ожидается ввод
index = foo[c]
print list_1[index].title()
Zubchick
Март 1, 2010 23:03:39
>> нах find, нах ord, dict - спасение
во - самый правильный способ, а я все думал, чего не так :)
Фи, dict - это не модно. Слишком много букв.
Вот аналог вашего кода с find:
print list_1.title()
Кстати, код будет выдавать последний элемент list_1 при вводе чего-нибудь отличного от ‘abc’.
Ваш будет ломаться. А мой с ord таки нет :)
sumrak_ss
Март 3, 2010 17:24:51
Всем огромное спасибо за помощь! Пример кода нагляднее любых объяснений.