Форум сайта python.su
ZubchickНасчет несрабатывания с другими буквами:c=getch() # Ожидается ввод
If c == 'a':
index = 0
elif c == 'b':
index == 1
elif c == 'c':
index == 2
print list_1[index].title()
Офлайн
я имел ввиду, если бы были буквы ‘a’, ‘r’, ‘z’ такой хитрый хак не прокатил бы :)
Офлайн
Ну да. В случае с ‘a’, ‘r’, ‘z’ я бы использовал find. все короче, чем 3 if-а писать.
Офлайн
Ну да. В случае с 'a', 'r', 'z' я бы использовал find. все короче, чем 3 if-а писать.
Офлайн
нах find, нах ord, dict - спасение
foo = {'a': 0, 'b': 1, 'c': 2}
c=getch() # Ожидается ввод
index = foo[c]
print list_1[index].title()
Офлайн
>> нах find, нах ord, dict - спасение
во - самый правильный способ, а я все думал, чего не так :)
Отредактировано (Март 1, 2010 23:04:05)
Офлайн
Фи, dict - это не модно. Слишком много букв.
Вот аналог вашего кода с find:
print list_1.title()
Кстати, код будет выдавать последний элемент list_1 при вводе чего-нибудь отличного от ‘abc’.
Ваш будет ломаться. А мой с ord таки нет :)
Отредактировано (Март 1, 2010 23:11:43)
Офлайн
Всем огромное спасибо за помощь! Пример кода нагляднее любых объяснений.
Офлайн