python - python随机选择什么都不选择
问题描述
我有一种方法可以生成始终以字符开头并且长度至少为 1 的随机字符串。
class Util:
@staticmethod
def get_random_name():
N = r.randint(0, 5)
return "".join(
r.choice(
string.ascii_lowercase
+ string.ascii_uppercase
)
).join(
r.choice(
string.ascii_lowercase
+ string.ascii_uppercase
+ string.digits
)
for _ in range(N)
)
现在当我这样做时:
for i in range(0,50):
logging.debug(str(i)+" -- "+Util().get_random_name())
其中一些给了我空字符串,或者有时它以数字开头。
我错过了什么?
解决方案
我想你正在寻找类似的东西
import random
import string
def get_random_name(min_n=0, max_n=5):
initial = random.choice(
string.ascii_lowercase
+ string.ascii_uppercase
)
return initial + "".join(
random.choice(
string.ascii_lowercase
+ string.ascii_uppercase
+ string.digits
)
for _ in range(
random.randint(min_n, max_n)
)
)
for x in range(10):
print(x, get_random_name(max_n=x))
输出(例如):
0 z
1 cm
2 W
3 oku9
4 nh
5 Ul3
6 yNPH
7 Rw7hW0eW
8 qR
9 BYKaGyv
推荐阅读
- javascript - Mongoose 和 Nodejs 通过那里的 id 获取用户名
- python - 为给定单词之前的单词提取 POS 标签
- python - 如何在套接字编程聊天应用程序中实现线程
- python - Python海龟避免动画
- wpf - 一个画布在相邻画布上的 ZIndex
- java - 如何在 Java JPanel 应用程序中显示 JavaFX 浏览器?
- javascript - 点击表格行时PHP打开第二页
- r - 从R中的马赛克(ArcGIS)中提取波段值到点
- python - 如何将一系列 matplotlib 图保存为图像文件?
- python - 从位置 Pandas 数据框中优化采样 n 行