输入结束后,Raw_Input没有在我按下回车键后结束提示符。
输入结束后,Raw_Input没有在我按下回车键后结束提示符。
我想使用这个函数从stdin中获取一个字符,但是使用raw_input函数,按下回车后提示符没有结束。我可以按下回车任意次数,它都不会进入下一行。
def userInput(): print "你想要做什么?" while True: u_Input = raw_input(':') if len(u_Input) == 1: break print '请只输入一个字符' return u_Input
我还从这个问题中获取了这段代码。
我在Ubuntu 16.04上使用的是Python 2.7.12版本。
问题原因:用户输入的值导致程序在while循环中跳出,并且在需要时没有重新进入循环。
解决方法:修改代码,使其在用户只是按下回车键时也能返回。
代码修改如下:
def userInput(): print "What would you like to do?" while True: u_Input = raw_input(':') if len(u_Input) == 0: # 修改此处条件 break elif len(u_Input) == 1: break print 'Please enter only one character' return u_Input
这样修改后,即使用户只是按下回车键,函数也会返回空字符串。