Как вводить разные коды для каждой буквы при вводе Python - PullRequest
0 голосов
/ 04 августа 2020

Я хочу, чтобы мой код python запускал другую функцию по мере ввода, по одной функции, назначаемой для каждой буквы.

У меня был бы код для каждой буквы

def a():
    # The letter A code
def b():
    # The letter B code

Тогда ввод (что-то вроде этого)

letters = input("Input Text:") 
print (letters)

И когда он печатает letters, он запускает функцию «a» для a, функцию «b» для b и так далее. Я новичок в python, поэтому приветствую любую помощь.

Ответы [ 2 ]

3 голосов
/ 04 августа 2020

Предположим, что все функции для каждой буквы будут в отдельном модуле с именем key_functions.py

В основной программе, где вы собираетесь обрабатывать буквы:

import key_functions
def print(letter):
    for letter in letters:
         try:
             key_func = getattr(key_functions, letter)
         except:
             raise
         key_func()


letters = input("Input Text:") 
print(letters)

ПРИМЕЧАНИЕ: функция печати - это то, что будет видно только внутри этого модуля !!

0 голосов
/ 04 августа 2020
def a():
    print('a ran')

def b():
    print('b ran')

letters = input("Input Text:") 
print (letters)

for l in list(letters): locals()[l]()

Если вы введете, скажем, 'ababab' с кавычками, распечатка будет выглядеть так:

Input Text:'ababab'
ababab
a ran
b ran
a ran
b ran
a ran
b ran
...