美文网首页
004将引入的随机字符串进行再打乱分配

004将引入的随机字符串进行再打乱分配

作者: 弗兰基的自由之路 | 来源:发表于2022-11-12 21:20 被阅读0次

PS:其实这个是两种思路

老师讲的是非重复添加字符串后,再进行随机内部再添加,也就是在字符串内部随机选取字符添加到任意位置

而我进行的选择是在添加可重复字符串后,再进行内部任意元素任意位置添加(类似于复制粘贴)

整体感觉自己的方案会更加的好,因为本次程序的目的是统计字符出现的个数,所以在进行添加时,选择可重复的添加,会提高相同字符出现的概率。

最后,只要样本量添加的足够,最后都会是殊途同归。

如果选择随机不可重复,使用sample

如果选择随机可重复,使用choices

# ********************************

# 功能:统计字符出现的次数V3.0

# 说明:引入随机字符串,并计算每个字符出现次数

# 编写人:Frank 编写时间:2022年11月12日

# 修改人:      修改内容:

# *******************************************************************

import random,string

dicData= {}

# 定义相关长度随机数

n1=random.randint(1,10)

n2=random.randint(1,52)

n3=random.randint(1,32)

print(type(n1))

# 获取随机长度指定字符的内容

con1=random.choices(string.digits,k=n1)

con2=random.choices(string.ascii_letters,k=n2)

con3=random.choices(string.punctuation,k=n3)

# print(n2,n3,n1)

# 进行相关内容的合并

r1=''.join(con1)

r2=''.join(con2)

r3=''.join(con3)

# print(r1,r2,r3)

result=r1+r2+r3

# 试验4:重复的随机字符

# print(type(result))

listr=list(result)

# print("数据类型",type(listr),listr)

print('初始数据:',listr)

number=len(listr)

# 遍历循环

for iin range(0,number):

    n= random.randint(0,number-1)  #选择起始位置为1,而不是0,因为选择为零后,就等于没有添加

    m= random.randint(0,number-1)

    # print(i)

    # 取出随机内容

    tmp= listr[m]

    listr.insert(n,tmp)

    # print('添加位置n:',n)

    # print('取出位置m:',m)

    # print('添加内容',tmp)

print('添加后数据:',listr)

for xin listr:

    # print(x)

# r=strCon.count(x)

# print(x,r)

    dicData[x]=listr.count(x)

print('次数统计:',dicData)

print(type(dicData))


相关文章

  • 004将引入的随机字符串进行再打乱分配

    PS:其实这个是两种思路 老师讲的是非重复添加字符串后,再进行随机内部再添加,也就是在字符串内部随机选取字符添加到...

  • 类似UUID的随机字符

    .h +(NSString *)getUUID; .m //当前时间(毫秒级)+随机数和打乱的字符串 进行洗牌(洗...

  • Swift学习日记(二)

    字符串可变性(String Mutability) 可以通过将一个特定字符串分配给一个变量来对其进行修改,或者分配...

  • 微信红包算法 - OC

    知乎-微信红包算法 一个简单的分配算法:随机分配n次把每次分配的部分减去,在进行随机分配分配过程中,考虑好,分配为...

  • 概率论与数理统计

    第一章随机事件与样本空间,进行随机试验得到试验结果,全部样本点组成样本空间,样本全体引入子集,引入随机事件,引入事...

  • 链式栈(js)

    栈 特点:先进后出 链式存储结构 类似于 c 的结构体,在线性存储空间进行随机的空间分配,并且通过指针按顺序将随机...

  • 003完成引入随机字符串的引入

    # ******************************** # 功能:统计字符出现的次数V3.0 # 说...

  • 关于Random Shuffle

    random shuffle指的是将一个数组里面的元素随机打乱得到一个新的数组。下面给出两种随机打乱算法的实现思路...

  • 「中高级前端必须了解的」数组乱序

    引言 数组乱序指的是:将数组元素的排列顺序随机打乱。 将一个数组进行乱序处理,是一个非常简单但是非常常用的需求。比...

  • 容易弄混的python与matlab语句

    读取目录下文件名 格式转换 字符串 读写文件 图片 opencv + matplotlib 打乱list 随机数 ...

网友评论

      本文标题:004将引入的随机字符串进行再打乱分配

      本文链接:https://www.haomeiwen.com/subject/efskxdtx.html