2014-01-20 4 views
0
alpha = ["A", "B", "C"] 
morsecode = ["*-", "-***", "-*-*"] 

string = raw_input(">> ") 
list1 = list(string) 

a1 = list1[0] 

try: 
    if a1 in alpha: 
     a11 = alpha.index(a1) 
     b1 = morsecode.index(a11) 
     a1 = b1 
     print a1 

я хочу, чтобы вы могли ввести в «A», и он будет печатать «* -»Настройка расположения переменной в списке другой переменной - питона

+6

Почему вы не просто использовать словарь? Сделайте «альфа» ключ, а «morsecode» - значение. – CoryKramer

+0

Как вы это делаете? –

+0

См. Ответ iCodez. Это очень простая реализация словаря. Я предлагаю вам прочитать некоторый вводный текст Python, поскольку это очень фундаментальная структура данных. – CoryKramer

ответ

1

я хочу, чтобы вы быть в состоянии напечатать в «A», и он будет печатать «* -»

то, что вы хотите сделать, может быть достигнуто довольно легко с dictionary:

>>> dct = { 
...  "A" : "*-", 
...  "B" : "-***", 
...  "C" : "-*-*" 
... } 
>>> string = raw_input(">> ") 
>> A 
>>> print dct[string] 
*- 
>>> 
0

Я думаю, что ОП хочет обрабатывать более одного символа в качестве входных данных:

morse_code_dict = {"A": "*-", "B": "-***", "C": "-*-*"} 

string = raw_input(">> ") 

for char in string: 
    print morse_code_dict[char], 
+0

Да, я пытаюсь сделать программу, которая меняет английский на код Морзе –

+0

Вышеупомянутое должно сделать это – dursk

+0

ok спасибо, что я пытаюсь прямо сейчас –

0

Я согласен, что словарь является собственно структура данных для этого.

Я вам хочу использовать список, вы могли бы сделать что-то вдоль этих линий:

morsecode = ["*-", "-***", "-*-*"] 

ch = raw_input(">> ") 

try: 
    print '"{}" in morses code:"{}"'.format(ch, morsecode[ord(ch)-ord('A')]) 
except IndexError: 
    print 'no code for: "{}"'.format(ch) 
Смежные вопросы