我对Python很新。我刚刚开始使用PythonforIOS 3.4,并且遇到input()问题。我认为这是IOS实施中的一个错误,但我想确保我理解正确的事情。
如果用户只是按Enter键(空响应),则会引发KeyboardInterrupt异常,而不是简单地返回一个空字符串('')作为我预期的结果。 它是否正确?在Python 2中,raw_input确实返回''我认为。我已经明白在Python 3中输入了raw_input。
答案 0 :(得分:2)
尝试一些测试:
try:
s = input('enter string: ')
except KeyboardInterrupt:
print 'Error raised'
如果出现'Error raised'消息,我确信它会从您的问题中说出来,那么它可能是iOS中的一个错误。据我所知,Python 3中的input
函数可以采用空字符串,但我不确定,因为我还没有在Python 3中工作。
我建议现在,在while循环中放置一个try / except案例,以防止出现空白输入,如:
while True:
try:
s = input('enter string: ')
break
except KeyboardInterrupt:
continue
并将错误报告给Apple。至于“我已经理解在Python 3输入中替换了raw_input”,那么你是正确的,input()
是获取用户输入的唯一标准方法。
此外,人们可以完全帮助您的唯一方法是发布您遇到问题的代码。