繁体   English   中英

如何在python中使用某些规则生成随机数或字母

[英]How do I generate a ranndom number or letter with certain rules in python

我正在尝试生成一个具有一定规则的随机数。 前11个数字是00000001008所以我只是将其制成字符串并打印到屏幕上,然后在字符串之后,下一个数字是随机数字或字母,因此我正在使用random and string模块生成随机数数字或字母。 在随机生成的数字之后,我想要一组三个1,所以我像对前11个值一样将它们打印为字符串。 但是在这里,我很困惑,在三个三个1的集合之后,我想生成另一个随机数或字母,但我无法弄清楚,我尝试了与随机变量相同的代码行,并使用了新的变量名然后我尝试将其与print语句中的新变量连接起来,这给了我一个错误。 如何在三个1之后生成另一个随机数?

import random 
import string

    random = ''.join([random.choice(string.ascii_letters + string.digits) for n in xrange(1)])

    print ("00000001008")+ random + ("111")  

产量

00000001008U111

期望的输出

00000001008(random)111(random)1(random)

错误

import random 
import string

random = ''.join([random.choice(string.ascii_letters + string.digits) for n in xrange(1)])
random1 = ''.join([random.choice(string.ascii_letters + string.digits) for n in xrange(1)])
print ("00000001008")+ random + ("111") + random1

random1 =''.join([xrange(1)中n的(random.choice(string.ascii_letters + string.digits)为n)])AttributeError:'str'对象没有属性'choice'

您可以简单地使用字符串格式和3个随机值

import random
import string

def gen():
  return random.choice(string.ascii_letters + string.digits)

print('00000001008%s111%s1%s' % (gen(), gen(), gen()))

代码无法正常工作的唯一问题是,您将变量命名为random ,这使得模块无法访问random ,因此错误来自您的random.choice调用,该调用现在引用了string 将变量重命名为“ random_string”和“ random_string1”,一切都会好起来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM