# -*- 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中看到输出没有任何反应时,只会出现一个空白输出窗口。
答案 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!
输出,即使答案在技术上是正确的(当Python
或python
都正确时)。
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'语句只会检查一次,而不是无限检查。希望这个答案能帮到你!