题目:随机生成指定数量的随机字符串,并统计每个字符出现的次数。
随机生成并统计字母数量最后拼接为字符串,原理很简单。此处为了提高效率采取一次生成多位的方式以减少随机次数,提高效率。需要注意的是15,16两行采用位运算以提高效率,如果改为求余和求模则效率会有答复下降。
另外,这里可以采用多线程机制以进一步提高速度。
[python]
import random
seed = ‘1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ{}’
length = int(input(‘length:’))
count = [0] 64
out_list = []
while length > 0:
if length > 10000:
c_length = 10000
else:
c_length = length
length -= 10000
ran_int = random.randint(1, 64 * c_length)
for i in range(0, c_length):
t = ran_int & 63
ran_int >>= 6
count[t] += 1
out_list.append(seed[t])
print(count)
print(‘’.join(out_list))
[/python]