当被问及raw_input时,我点击了Enter,python关闭了

时间:2017-03-20 18:41:22

标签: python

我是python的新手所以请原谅。我尝试在一个名为Codecademy的网站上学习python。一切正常,但我想看看如果我将一个脚本从网站插入我的电脑上的python会发生什么。我目前安装了第二版python(2.7.13)。

脚本如下:

pyg = 'ay'
original = raw_input('Enter a word:')
if len(original) > 0 and original.isalpha():
    word = original.lower()
    first = word [0]
    new_word = word + first + pyg
    # All the different variables are now in one
    new_word = new_word[1:len(new_word)]
    # The first two letters are removed
    print new_word
else:
    print 'empty'
    # If there is no input or any input containing non-letter characters

当我通过python打开这个脚本时,我能够输入第一个问题,但是一旦我按下回车,程序就会关闭,我无法回答第二个问题。我尝试直接通过cmd加载它,但它也没有用。

3 个答案:

答案 0 :(得分:1)

只需在输出后添加以下行:

raw_input('Enter any key to exit: ")

这将保持打开状态,直到您按一个键并单击回车。

答案 1 :(得分:0)

没有"第二个问题" - 您的控制流中只有一个输入语句。如果您希望重复该程序,则需要对其进行编码。一个简单的版本:

while True:
    # Get user input
    original = raw_input('Enter a word:')
    # Convert to Pig Latin
    ... continue with your original code
    # Print result

当然,这将永远循环。您可以在循环中设置检查"退出"输入,如果你愿意。我把它作为学生的进一步练习。

答案 2 :(得分:0)

您的查询的完整解决方案: 注意(你说前两个字母已删除,但在你的代码中你写了[1:] - 这意味着它只删除了第一个字母)

pyg = 'ay'
want_continue = True
while want_continue:
    original = raw_input('Enter a word:')
    if len(original) > 0 and original.isalpha():
        word = original.lower()
        first = word [0]
        new_word = word + first + pyg
        # All the different variables are now in one
        new_word = new_word[2:len(new_word)]
        # The first two letters are removed
        print new_word
    else:
        print 'empty'
        # If there is no input or any input containing non-letter characters 
    user_input = raw_input('Want to Contiue:(Y)')
    if user_input.lower() != 'y':
        want_continue = False