我正在codecademy上学习python,我目前的任务是:
编写一个带有一个参数的函数shut_down(您可以使用任何您喜欢的东西;在这种情况下,我们将s用于字符串)。当它的参数为 “是”* ,
“是” 或 “是” 并且 “关闭中止!” 时,shut_down函数应返回 “正在关闭…” 。 当它得到
“ No” , “ no” 或 “ NO”时 。
*如果得到的不是这些输入,该函数应返回 “对不起,我听不懂”。
在我看来似乎很轻松,但是我仍然无法做到。
我为测试功能编写的代码:
def shut_down(s):
if s == "Yes" or s == "yes" or s == "YES":
return "Shutting down..."
elif s == "No" or "no" or "NO":
return "Shutdown aborted!"
else:
return "Sorry, I didn't understand you."
i = input("Do you want to shutdown?")
print(i) #was to test the input
print(shut_down(i)) #never returns "Sorry, I didn't understand you"
它适用于“否”和“是”,但是以某种方式,如果我在任何“是”之前放一个空格,或者即使我只是键入“ a”,它也会显示“关闭中止!”
尽管它应该显示“对不起,我听不懂”。
我究竟做错了什么?
你忘了写s == "no"
你的第一本elif:
def shut_down(s):
if s == "Yes" or s == "yes" or s == "YES":
return "Shutting down..."
elif s == "No" or "no" or "NO": # you forgot the s== in this line
return "Shutdown aborted!"
else:
return "Sorry, I didn't understand you."
做这个:
def shut_down(s):
if s == "Yes" or s == "yes" or s == "YES":
return "Shutting down..."
elif s == "No" or s == "no" or s == "NO": # fixed it
return "Shutdown aborted!"
else:
return "Sorry, I didn't understand you."
这是因为:
elif s == "No" or "no" or "NO": #<---this
elif s == "No" or True or True: #<---is the same as this
由于这是公认的答案,因此我将详细介绍标准做法:不考虑大小写而比较字符串的约定(equalsIgnoreCase)的用法.lower()
如下:
elif s.lower() == "no":
问题内容: 我有一个简单的AJAX调用,服务器将返回包含有用数据的JSON字符串或PHP函数产生的错误消息字符串。如何测试此数据是JSON字符串还是错误消息。 最好使用一个称为的函数,就像您可以使用该函数来测试某个东西是否为数组一样。 这就是我要的: 问题答案: 使用JSON.parse
问题内容: 有没有这将是一个组合的等同的任何功能和? 例如,假设我有系列 ,并且我想找到s包含的任何一个的所有地方,那么我想得到除“宠物”以外的所有东西。 我有一个解决方案,但这很不雅致: 有一个更好的方法吗? 问题答案: 一种选择是仅使用正则表达式|字符尝试匹配系列中单词中的每个子字符串s(仍使用)。 你可以通过将单词与结合在一起来构造正则表达式|: 就像在下面的注释中指出的那样,请注意你的子字
如何以更简单的方式检查字符串是否与给定选项之一匹配?
问题内容: 我有两个字符串,我想检查第一个是否是另一个的子字符串。Python是否具有这样的内置功能? 问题答案: 尝试像这样使用:
问题内容: 如何测试字符串以查看其是否包含数组中的任何字符串? 而不是使用 问题答案: 编辑:这是使用Java 8流API的更新。如此清洁。仍然可以与正则表达式结合使用。 另外,如果我们将输入类型更改为List而不是数组,则可以使用。 如果希望返回匹配的字符串,也可以使用。 原始的过时的答案: 这是(VERY BASIC)静态方法。请注意,在比较字符串上区分大小写。一个原始的,使其不区分大小写的办
想知道什么在什么不在吗?Puppet 的 in 可以帮你, 如下面的表达式: if "foo" in $bar 如果 foo 是 $bar 的子串,表达式的值为 true。 如果 $bar 是个数组,并且 foo 是这个数组中的一个元素,表达式的值为 true。 如果 $bar 是一个哈希,foo 是 $bar 的一个键值,表达式的值为 true。 操作步骤 在你的配置清单中添加如下代码: if