擅长:python、mysql、java
<p>问题是您正在使用<code>join</code>函数,该函数用于将多个带符号的字符串连接在一起。但是您真正想要的是<em>连接</em>字符串,这在Python中是使用<code>+</code>符号完成的</p>
<p>让我们看看<code>join</code>函数:</p>
<pre><code>>>> '|'.join('abc')
'a|b|c'
</code></pre>
<p>让我们看看这个输出:</p>
<pre><code>aHCHRH1H0
</code></pre>
<p>这里发生的是,您生成了第一个字母<code>H</code>,然后是字符串<code>aCR10</code>,这是正确的。但是随后发生的不是<code>+</code>,而是连接:</p>
<pre><code>>>> 'H'.join('aCR10')
'aHCHRH1H0'
</code></pre>
<hr/>
<p>固定版本:</p>
<pre><code>class Util:
@staticmethod
def get_random_name():
N = r.randint(0, 5)
return r.choice(
string.ascii_lowercase
+ string.ascii_uppercase
) + ''.join(
r.choice(
string.ascii_lowercase
+ string.ascii_uppercase
+ string.digits
)
for _ in range(N)
)
</code></pre>