任何人都可以帮我弄清楚这有什么问题吗?
make -f Makefile.dep MPICC="mpicc" CFLAGS="-O2" skampi
make[1]: Entering directory
Makefile.dep:5: *** missing separator. Stop.
make[1]: Leaving directory
make: *** [skampi] Error 2
它循环回到"你接受"一旦,即使你输入了无效的答案,它也会打破循环。
答案 0 :(得分:2)
==
检查是否相等,因此您要检查字符串accept1
是否等于元组("yes", "Yes", "no", "No")
,这将永远不会成立。因此,您获得了输出 - "That's not a valid answer!"
。
您应该使用in
运算符来检查accept1
是否等于元组的其中一个元素。
其他建议,您可以使用.lower()
使整个字符串小写以进行检查,并使用set
。示例 -
while accept1.lower() not in {"yes", "no"}:
你的循环是错误的(只要答案有效,你试图循环,当你应该尝试循环直到答案变得有效)时,它应该是这样的 -
accept1 = input("Do you accept?")
while accept1.lower() not in {"yes", "no"}:
print ("That's not a valid answer!")
accept1 = input("Do you accept?")
print ("I see.")
答案 1 :(得分:1)
我认为你想要做的是:
answers = set(['Yes', 'No', 'yes', 'no'])
if accept1 in answers :
print ("I see.")
else:
print ("That's not a valid answer!")
accept1 = input("Do you accept?")
print ("Let's begin!")
您希望输入的值为“是”,“是”,“否”或“否”,对吗?