python 如何创建正数、负数、浮点数、大写、小写元素的随机字符串组合

8dtrkrch  于 2023-01-16  发布在  Python
关注(0)|答案(2)|浏览(114)

我是新来的python寻求您的帮助。我想创建一个字符串组合阳性,阴性,浮点,大写,小写元素
例如:随机组合。

As-1jP0.7M -->output

解释

A - caps A 
s- small S
-1 - Negative 1 
j- small j
0.7 - float 0.7
M- caps M

我的范围

Caps - A - Z
small- a -z
positive - 0 to 9
Negatives - -1 to -9
float - 0.1 to 0.9

我知道我问得太多了,但通过做一些基础研究,我知道如何生成Alphanumeric数字的组合,如。

import random, string
x = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(10))
print(x)

这个可以...但是,我完全不知道如何添加Negativefloat类型沿着alphanumerics ..有什么建议如何实现它。像我们有任何一些快捷方式,如string.floatdigits?或string.negatives?我已经搜索了类似的语法,但,但我没有找到任何东西

unftdfkk

unftdfkk1#

您可以根据范围生成单独的列表并相应地使用。
1.根据范围生成单独的列表
1.合并它们-Reference
1.生成n次随机项并作为str-Reference加入
代码:

import string
import random

list_small=list(string.ascii_lowercase)
list_cap=list(string.ascii_uppercase)
list_dig = list(range(9,-10,-1)) #both postive & Neg
floats= [ round(x * 0.1, 1) for x in range(1, 10)]

#Merge list    
all_list = list_small + list_cap + list_dig +floats
s =''.join(str(x) for x in ([random.choice(all_list) for i in range(10)]))

print(s)

输出

ircZC-1bj0.7k
gtlvzcf8

gtlvzcf82#

试试这个:

import random, string
x = ''.join(random.choice(list(string.ascii_uppercase) + 
                          list(string.ascii_lowercase) + 
                          ['0']+[ch+dig for dig in string.digits[1:] for ch in ['', '-', '0.'] ]) 
            for _ in range(10))
print(x)

随机输出:0.3z0.7Q0.52-9Ghe
另一个随机输出:Op-7-1R0.8M7wz

相关问题