3

我对 Python 还很陌生。我刚刚开始使用 PythonforIOS 3.4,并且在使用 input() 时遇到了问题。我认为这是 IOS 实现中的一个错误,但想确保我理解正确。

如果用户只是按回车键(空响应),则会引发 KeyboardInterrupt 异常,而不是简单地返回空字符串('')作为我所期望的结果。这个对吗?在 Python 2 raw_input 确实返回 '' 我认为。我知道在 Python 3 中输入替换了 raw_input。

4

1 回答 1

2

尝试一些测试:

try:
    s = input('enter string: ')
except KeyboardInterrupt:
    print 'Error raised'

如果打印出“引发错误”消息,我相信它会从您的问题中说出来,那么它很可能是 iOS 中的一个错误。据我所知,inputPython 3 中的函数可以采用空字符串,但我不确定,因为我还没有在 Python 3 中工作。

我现在建议,在 while 循环中放置一个 try/except 案例,以防止出现空白输入,例如:

while True:
    try:
        s = input('enter string: ')
        break
    except KeyboardInterrupt:
        continue

并将错误报告给 Apple。至于“我已经理解在 Python 3 中输入替换了 raw_input”,你是对的,input()这是获取用户输入的唯一标准方法。

此外,人们可以完全帮助您的唯一方法是发布您遇到问题的代码。

于 2013-11-13T05:38:18.487 回答