擅长:python、mysql、java
<p><code>.isalnum()</code>、<code>.isupper()</code>、<code>.isdigit()</code>和friends是Python中<code>str</code>类型的方法,它们的调用方式如下:</p>
<pre><code>>>> s = "aBc123"
>>> s[0].isalnum()
True
>>> s[1].isupper()
True
>>> s[3].isdigit()
True
</code></pre>
<p><strong>简单<code>getscore()</code>函数:</strong></p>
<pre><code>s = "aBc123@!xY"
def getscore(s):
score = 0
for c in s:
if c.isupper():
score += 2
elif c.isdigit():
score += 2
elif c.isalpha():
score += 1
else:
score += 3
return score
print getscore(s)
</code></pre>
<p><strong>输出:</strong></p>
<pre><code>13
</code></pre>
<p><strong>更好的版本:</strong></p>
<pre><code>s = "aBc123@!xY"
def getscore(s):
return len(s) + len([c for c in s if c.isdigit() or c.isupper() or not c.isalpha()])
print getscore(s)
</code></pre>
<p><strong>输出:</strong></p>
<pre><code>17
</code></pre>