我需要一个从用户(文本)获取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
谢谢。
答案 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()