Takes two strings and returns
True
if the strings contain the same characters regardless of the number of occurrences or the order in which they occur. Must consider all characters and is case-sensitive (e.g.,sameChars("AA","a")
returnsFalse
, whilesameChars("FgFFF","ggFF")
returnsTrue
.
我的代码是:
def sameChars(s1, s2):
if s1 <= s1:
return True
else:
return False
如果我输入以下内容,函数将返回true
:
print sameChars('AA', 'a')
但是它应该返回false
。你知道吗
您正在检查-
s1 <= s1
。这总是正确的,因为您正在用s1
检查s1
。你知道吗即使您用
s2
检查了s1
,我也不认为这能满足您的要求,因为s1 <= s2
正在检查s1
是否在词典上低于s2
。你知道吗最好的方法是把s1和s2的字符放到一个集合中,然后检查它们是否相等。你知道吗
示例-
或者只返回
set(s1) == set(s2)
的结果在集合中,元素是唯一的,因为它们不允许重复,而且它们是无序的,所以如果它们有相等的元素,那么这两个集合将是相等的,而不管元素出现的顺序如何。你知道吗
你在操作中说要检查字符串是否包含相同的字符。这是一种方法:
首先:
永远都是真的。你打错了。你知道吗
一般来说,你的功能就没那么有用了。在任何地方你都可以像
sameChars(s1, s2)
那样使用它,只需做一个s1 <= s2
就可以达到同样的效果。你知道吗相关问题 更多 >
编程相关推荐