python随机字符串

import random
def rando(numn=4):
	upper=[chr(x) for x in range(65,91)]
	lower=[chr(x) for x in range(97,123)]
	num=[x for x in range(10)]
	rand=upper+lower+num
	ran=[]
	x=0
	while x<numn:
		x+=1
		numer=len(rand)
		randnum=random.randint(0,numer)
		lowernum=rand[randnum-1]
		ran.append(lowernum)
	s=''.join(map(str,ran))
	return s
def defobj(x):
	if isinstance(x,str):
		return defran(x)
	elif isinstance(x,list):
		return defran(x)
	elif isinstance(x,tuple):
		return defran(x)
	else:
		return 'error'
def defran(x):
	i=len(x)
	res=random.randint(0,i-1)
	return x[res]
def ran(x=4):
	if isinstance(x,int):
		return rando(x)
	elif not isinstance(x,int):
		return defobj(x)

调用ran()函数,实现输入数字返回对应个数的随机字符串,传入tuple ,list,str时,随机返回其中的一个字符串


转载于:https://my.oschina.net/yfia/blog/614646

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中生成随机字符串的方法有多种。一种方法是通过random模块中的choice函数来从指定的字符集中选择随机字符进行拼接,如在函数getRandom中。该函数使用了digits和ascii_letters两个字符集,分别包含了0-9和a-z、A-Z的字符,通过循环调用random.choice函数来选择这些字符并进行拼接,生成一个指定长度的随机字符串。 另一种方法是通过循环调用random.randint函数来生成随机数,然后根据生成的随机数选择字符数据源数组中对应位置的字符进行拼接,如在函数generate_random_str中。该函数定义了一个字符数据源数组base_str,循环调用random.randint函数来生成0到数据源数组长度之间的随机数,然后通过这个随机数选择数据源数组中对应位置的字符进行拼接,最终生成一个指定长度的随机字符串。 这两种方法都可以用来生成随机字符串,具体选择哪种方法取决于个人喜好和具体需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python生成随机字符串](https://blog.csdn.net/wyy_a/article/details/121632646)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [python生成随机字符串_Python生成随机字符串](https://blog.csdn.net/cunchi4221/article/details/107475914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值