擅长:python、mysql、java
<p>问题在于:</p>
<pre><code>if ucase>=1 and lcase>=6 and num==numcheck:
</code></pre>
<p>如果我们将<code>qwertyuiop</code>作为随机输入,那么<code>num</code>等于10,而<code>numcheck</code>等于-10,两者都不相等,因此程序不会在其中输入代码块。
由于它没有<code>else</code>块,因此程序退出<code>main</code>函数而没有任何输出</p>
<p>如果您想检查所提供的输入是否为数字,我建议您使用<code>.isdigit</code>,而且<code>if (uname[x])>='0' or (uname[x])<='9':</code>仅检查输入是否分别等于或大于或小于或等于0或9以及其他数字</p>
<pre><code>def numeric():
for x in range(length):
if uname[x].isdigit():
global num
num=num+1
</code></pre>
<p>同样的情况也适用于<code>uppercase()</code>和<code>lowercase()</code></p>
<p>要检查大写字母,可以尝试以下操作:</p>
<pre><code>#Ucase check
def uppercase():
upperCase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for x in range(length):
if uname[x] in upperCase:
global ucase
ucase=ucase+1
#Lcase check
def lowercase():
lowerCase = 'abcdefghijklmnopqrstuvwxyz'
for x in range(length):
if uname[x] in lowerCase:
global lcase
lcase=lcase+1
</code></pre>
<p>希望你在找这个</p>