Python 2.7虽然循环不工作

时间:2017-09-14 10:56:13

标签: python python-2.7 while-loop

# -*- coding: utf-8 -*-
question = raw_input("Python or Ruby?")
while question != "Python":
    print "Nope!"

这很简单。我是业余爱好者,我正在学习基础知识。我尝试了这个循环,但它给出了这个错误:

$python main.py
Python or Ruby?Traceback (most recent call last):
  File "main.py", line 2, in 
    question = raw_input("Python or Ruby?")
EOFError: EOF when reading a line

当我尝试在PyCharm中看到输出没有任何反应时,只会出现一个空白输出窗口。

4 个答案:

答案 0 :(得分:2)

寻找这样的东西?

# -*- coding: utf-8 
import sys
question = None
while question != "Python":
    question = raw_input("Python or Ruby? ->")

    if(question != "Python"):
        print("Nope!")

答案 1 :(得分:0)

我建议使用if语句,而不是无限的while循环(见下文)。

question = raw_input('Python or Rub?')
while 'Python' not in question:
   print 'Nope!'

您可以改进用低位字母比较答案的陈述。否则大写字母将产生Nope!输出,即使答案在技术上是正确的(当Pythonpython都正确时)。

question = raw_input('Python or Rub?')
if 'python' not in question.lower():
   print 'Nope!'

答案 2 :(得分:0)

在你的情况下,while语句没有完成。声明一个定义可以帮助你。

def Question():
 question = raw_input("Python or Ruby?")
 while question != "Python":
    print "Nope!"
    return Question()
 print "Correct"
 return 1

或者为了获得最佳性能,请使用if statment recursivly:

def Question():
 question = raw_input("Python or Ruby?")
 if question == "Python":
    print "Correct"
    return 1
 print "nope"
 return Question()

`

答案 3 :(得分:0)

'虽然'循环主要用于检测何时保持相同和/或变化。使用您的代码,在开始时它接受用户输入并将其存储为变量。然后while循环无限地检查它,如果它不等于" Python"它打印" Nope!",意味着它将无限打印" Nope!"一遍又一遍地。一个' if'声明会更好:

if question != "Python":
    print "Nope!"

' if'语句只会检查一次,而不是无限检查。希望这个答案能帮到你!