如何在Python中获取多个字符输入并对其进行处理

时间:2019-04-14 10:47:54

标签: python

我需要一个从用户(文本)获取1行输入然后将输出作为文本输入的程序(我在下面写下示例)

我尝试了 if ,但是它只接受一个行代码,如果我写的未定义单词会破坏其余代码。

class meaning():
  def shortcutA (self):
    print ("ice cream")
  def shortcutB (self):
    print ("Choclet cake")

def main():
    m = meaning()

    if input() == "a":
      print("your code is: ")
      m.shortcutA()
    elif input() == "b":
      print("your code is: ")
      m.shortcutB()
    else :
      print ("unrecognized")

print ("Please enter the words :")

if __name__ == "__main__":
  main()

我希望当我输入 a b 时,结果会像

ice cream 
Choclet cake

谢谢。

3 个答案:

答案 0 :(得分:0)

您需要修改if输入语句。 如果要根据输入用空格分隔输出,请使用以下命令:

for x in input():
    if(x=='a'):
         print(m.shortcutA(),end=' ')
    if(x=='b'):
         print(m.shortcutB(),end=' ') 
    else:
         print('unrecognised!')

希望这会有所帮助。

答案 1 :(得分:0)

我们可以使用for循环遍历单词中的输入。

class meaning():
  def shortcutA (self):
    print ("ice cream")
  def shortcutB (self):
    print ("Choclet cake")



def main():
    m = meaning()
    print_flag = False
    for i in input():
        if i in ['a', 'b'] and not print_flag:
            print("your code is: ")
            print_flag = True
        if i == "a":
            m.shortcutA()
        elif i == "b":
            m.shortcutB()
        elif i == ' ':
            continue
        else :
             print ("unrecognized")

print ("Please enter the words :")

if __name__ == "__main__":
  main()

产生:

Please enter the words :
your code is: 
ice cream 
Choclet cake

答案 2 :(得分:0)

我建议使用这样的程序

class meaning():
    def shortcutA(self):
        return "ice cream"

    def shortcutB(self):
        return "Chocolet cake"


def main():
    m = meaning()
    code = ''
    for alphabet in user_input:
        if alphabet == "a":
            code += ' ' + m.shortcutA()
        elif alphabet == "b":
            code += ' ' + m.shortcutB()
    if len(code) == 0:
        print 'Unrecognized.'
    else:
        print 'The code is : ' + code


user_input = raw_input('Please enter the words : \n')

if __name__ == "__main__":
    main()