Найти - Пользователи
Полная версия: Помогите исправить
Начало » Python для новичков » Помогите исправить
1 2
Ed
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
я имел ввиду, если бы были буквы ‘a’, ‘r’, ‘z’ такой хитрый хак не прокатил бы :)
Ed
Ну да. В случае с ‘a’, ‘r’, ‘z’ я бы использовал find. все короче, чем 3 if-а писать.
Zubchick
Ну да. В случае с 'a', 'r', 'z' я бы использовал find. все короче, чем 3 if-а писать.
ну до find я не додумался, конечно, но это будет явно более правильный способ. а с ord - это грязный хак :)
bazooka
нах find, нах ord, dict - спасение
foo = {'a': 0, 'b': 1, 'c': 2}
c=getch() # Ожидается ввод
index = foo[c]

print list_1[index].title()
Zubchick
>> нах find, нах ord, dict - спасение
во - самый правильный способ, а я все думал, чего не так :)
Ed
Фи, dict - это не модно. Слишком много букв.
Вот аналог вашего кода с find:
print list_1.title()

Кстати, код будет выдавать последний элемент list_1 при вводе чего-нибудь отличного от ‘abc’.
Ваш будет ломаться. А мой с ord таки нет :)
sumrak_ss
Всем огромное спасибо за помощь! Пример кода нагляднее любых объяснений.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB