关于python:尝试在中间用”-“生成随机密码

trying to generate random passwords with “-” in between

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
6
import random
s ="abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"
passlen = 4
p ="".join(random.sample(s,passlen))
p2 ="".join(random.sample(s,passlen))
print(p,"-",p2)

这是我的密码。但当我运行它时,会得到这样的结果:RJ9E-ZN0P我不需要中间的空隙。我这里缺什么?谢谢!


您的代码的问题是print(p,"-",p2)将在参数之间打印空格,最好使用print("{}-{}".format(p, p2))


只需使用"+"运算符将所有字符串转换为单个字符串

1
2
3
4
5
6
import random
s ="abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()?"
passlen = 4
p ="".join(random.sample(s,passlen))
p2 ="".join(random.sample(s,passlen))
print(p+"-"+p2)


这是因为印刷品。您需要将密码concat成这样的单个变量:password = '%s-%s' % (p, p2)