【问题标题】:how do i add dashes in-between the output automatically? [duplicate]如何在输出之间自动添加破折号? [复制]
【发布时间】:2018-05-16 20:36:03
【问题描述】:
import random
import string

oneFile = open('password.txt', 'w')
userInput = 0
key_count = 0
key = []
chars = string.ascii_uppercase + string.digits + string.ascii_lowercase

for userInput in range(int(input('How many keys needed?'))):
    while key_count <= userInput:
        number = random.randint(1, 999)
        if number not in key:
            key_count += 1
            key.append(number)
            text = str(number) + ": " + str(''.join(random.sample(chars*6, 16)))
            oneFile.write(text + "\n")

oneFile.close()

print("Data written, please Rename or it will be over written.")
raw_input("press enter to exit")

我如何得到它,所以输出看起来像这样:
955: PFtKg-r1fd1-g9FX23 在选定数量的字符后中间有破折号?

text = str(number) + ": " + str(''.join(random.sample(chars*6, 16)))
#puts everything together but i would have to repeat
#  + str(''.join(random.sample(chars*6, 16)))  on the line in code

【问题讨论】:

    标签: python cryptography passwords


    【解决方案1】:

    基于this,您可以编写(dashPer 表示选定数量的字符):

    '-'.join(text[i:i+dashPer] for i in range(0, len(text), dashPer))
    

    就像替换一样:

    text = str(number) + ": " + str(''.join(random.sample(chars*6, 16)))
    

    与:

    dashPer = 5
    text = str(''.join(random.sample(chars*6, 16)))
    text = '' + '-'.join(text[i:i+dashPer] for i in range(0, len(text), dashPer))
    text = str(number) + ": " + text
    

    【讨论】:

    • 太棒了!太感谢了!我知道有更好的方法,然后一遍又一遍地重复那一行代码。
    【解决方案2】:

    一种解决方案可以是在随机字符生成块中使用另一个 if 条件,该条件检查计数器生成的字符数,如果是某个数字则添加破折号并重置计数器。可能会有更好的答案,但这肯定会奏效。

    或一次生成四个随机字符并用破折号附加它们,直到程序继续运行。

    【讨论】:

    • 这就是我问的原因,因为我得出了相同的结论,但不知道它在代码中会是什么样子。
    【解决方案3】:

    用三个随机字符组成的单词破解您的密码,并用“-”(连字符)连接它们。因此,您的密码将是:

    completePassword = pass[0] + '-' + pass[1] + '-' + pass[2]
    

    【讨论】:

      猜你喜欢
      • 2011-09-08
      • 2020-09-19
      • 2013-06-03
      • 1970-01-01
      • 2015-09-29
      • 2022-01-05
      • 1970-01-01
      • 2013-06-03
      • 2021-04-07
      相关资源
      最近更新 更多