2014-10-31 2 views
0

Я работаю над программой ASL (американский язык жестов), где пользователь вводит письмо, а взамен они получают изображение правильного подписания. Я могу заставить его работать с одной буквой за раз, но я хотел бы получить целые слова. Херес им цикл обработки:Проблемы с циклизацией и отображением изображений

from images import Image 
print('*** Welcome to the ASL Translator ***') 
print('Press ENTER to quit at any time') 
letter = input(str('What letter/word would you like to translate (A-Z): ')) 

#breaking the user input into letters 
seperate = list(letter) 

i = 0 
for i in range(len(seperate)): 
    if seperate[0] == 'A' or seperate[0] == 'a': 
     image = Image('A.gif') 
     image.draw() 
     i += 1 
    if seperate[1] == 'B' or seperate[1] =='b': 
     image = Image('B.gif') 
     image.draw() 
     i += 1 
    if seperate[2] == 'C' or seperate[2] == 'c': 
     image = Image('C.gif') 
     image.draw() 
     i += 1 

это то, что я есть, что работает для одного письма в то время.

if letter == 'A' or letter == 'a': 
    image = Image('A.gif') 
    image.draw() 
    i += 1 
elif letter == 'B' or letter == 'b': 
    image = Image('B.gif') 
    image.draw() 
    i+= 1 
elif letter == 'C' or letter == 'c': 
    image = Image('C.gif') 
    image.draw() 
    i+= 1 
elif letter == 'D' or letter == 'd': 
    image = Image('D.gif') 
    image.draw() 
elif letter == 'E' or letter == 'e': 
    image = Image('E.gif') 
    image.draw() 
elif letter == 'F' or letter == 'f': 
    image = Image('F.gif') 
    image.draw() 
elif letter == 'G' or letter == 'g': 
    image = Image('G.gif') 
    image.draw() 
elif letter == 'H' or letter == 'h': 
    image = Image('H.gif') 
    image.draw() 

. . . . и т. д. вплоть до z

благодарит заранее, если вы можете мне помочь! :)

ответ

0
from images import Image 
print('*** Welcome to the ASL Translator ***') 
print('Press ENTER to quit at any time') 
letter = input(str('What letter/word would you like to translate (A-Z): ')) 


for ltr in letter.upper(): 
    if os.path.exists("%s.gif"%ltr): 
     image = Image("%s.gif"%ltr) 
     image.draw() 

Я думаю, что должен работать

0

Попробуйте это:

from images import Image 
print('*** Welcome to the ASL Translator ***') 
print('Press ENTER to quit at any time') 
letter = input(str('What letter/word would you like to translate (A-Z): ')) 

#breaking the user input into letters 
seperate = list(letter) 

for i in seperate: 
    i=i.upper() 
    image = Image(str(i)+'.gif') 
    image.draw() 
+0

отлично! Большое вам спасибо :) –

+0

будет ли способ отображать более одного изображения .gif на дисплей? так что я мог бы сразу написать все слово вместо одного письма за раз? @BHAT IRSHAD –

Смежные вопросы