当前位置: 首页 > 面试题库 >

random.sample python中的“样本大于总体”

唐繁
2023-03-14
问题内容

为自己创建一个简单的通行证生成器,我注意到,如果我希望我的人口总数仅是数字(0-9),这是总共10个选项,如果我希望长度超过10,则不会再使用任何一个数字,然后返回“样本大然后人口”的错误。

是否可以维护代码,但添加/减少代码行以使其起作用?还是我必须使用使用随机选择?

import string
import random

z=int(raw_input("for: \n numbers only choose 1, \n letters only choose 2, \n letters and numbers choose 3, \n for everything choose 4:"))

if z==1:
    x=string.digits
elif z==2:
    x=string.letters
elif z==3:
    x=string.letters+string.digits
elif z==4:
    x=string.letters+string.digits+string.punctuation
else:
    print "die in a fire"

y=int(raw_input("How many passwords would you like?:"))
v=int(raw_input("How long would you like the password to be?:"))

for i in range(y):
    string=""
    for n in random.sample(x,v):
        string+=n
    print string

ty


问题答案:

目的random.sample()是选择一个 子集
的输入序列的,随机,无需拾取任何一种元素多于一次。如果您的输入序列没有重复,则您的输出也不会重复。

不是 在寻找子集;您需要从输入序列中选择单个随机选择,并重复多次。元素可以多次使用。random.choice()为此使用循环:

for i in range(y):
    string = ''.join([random.choice(x) for _ in range(v)])
    print string

这将创建一个length的字符串v,其中from的字符x可以多次使用。

快速演示:

>>> import string
>>> import random
>>> x = string.letters + string.digits + string.punctuation
>>> v = 20
>>> ''.join([random.choice(x) for _ in range(v)])
'Ms>V\\0Mf|W@R,#/.P~Rv'
>>> ''.join([random.choice(x) for _ in range(v)])
'TsPnvN&qlm#mBj-!~}3W'
>>> ''.join([random.choice(x) for _ in range(v)])
'{:dfE;VhR:=_~O*,QG<f'


 类似资料:
  • 下面是有问题的代码: 目前,在

  • 我想制作按钮来调整我的文本。有一些按钮可以使文本视图变大、变小,在斜体和粗体之间来回切换。 我想编辑名为“text”的文本视图 在下面的代码中,当我单击“butBig”或“butSmall”按钮时,两个按钮都做了相同的事情,它使我的文本大小增加,但不是增加5,它变得非常大。当我再次点击任意一个按钮时,TextView消失了,就像它对于框架来说太大了一样。 对于斜体和粗体,我这里的代码确实有效,但有

  • 问题内容: 我正在尝试使用train_test_split和决策树回归器进行此训练建模: 运行此命令时,出现错误: 如果将cv的值更改为1,则会得到: 数据的一些示例行如下所示: 问题答案: 如果分割数大于样本数,则将出现第一个错误。从下面给出的源代码中检查代码段: 如果折叠数小于或等于,则会出现第二个错误。就您而言,。检查源代码: 有根据的猜测是,其中的样本数量少于。仔细检查。

  • 我有一个相同维数的矩阵列表,例如: 我想做的是从列表中的每个矩阵中对随机列进行多次采样,例如,在给定的样本中,要采样的列索引是:

  • 我想找到给定正整数数组中元素的最大数目,使得它们的和小于或等于给定的k。例如,我有一个数组 答案是3,因为1,2,3是求和6的最大元素。

  • 本文向大家介绍关于Java三大特性之多态的总结,包括了关于Java三大特性之多态的总结的使用技巧和注意事项,需要的朋友参考一下 面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。 1.定义: 多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)

  • 问题内容: 我想使用一个SQL,使接收者的接收数量> = 1024,转移数量<= 3。 约翰逊之所以被列出是因为列出了约翰逊帐户,因为它在以下三个转账中收到了1112美元:512美元+ 100美元+ 500美元,泰勒进行了1次转账1024美元。威廉姆斯不在,因为他在四笔交易中收到1200美元。 我尝试 它不能正常工作。我正在使用PostgreSQL,SQLLites语法也很好。 随附表和行的创建,

  • 此示例代码是否在所有系统上导致两个相等的值?