簡體   English   中英

在字符串中的字符之間添加隨機字符 (Python)

[英]Adding Random Characters Between Characters in a String (Python)

我試圖在給定范圍內的每個字母后添加隨機字母,但它們並不是完全隨機的。

def add_letters(org,num):
    new_word = ''
    for i in org:
        randomLetter = random.choice(string.ascii_letters) * num
        new_word += i
        new_word += randomLetter
    return new_word

original = 'Hello!'
for num in range(1,5):
    #scramble the word using 'num' extra characters
    scrambled = add_letters(original,num)
    #output
    print("Adding",num,'random characters to',original,'->',scrambled)

某些結果將具有重復多次的相同字母,例如“HAAAAeiiiilzzzzlBBBBoSSSS!jjjj”。 相反,它們應該是隨機的。

  • 您使用了*sum ,它只生成一次randomLetter並重復sum次數的結果字母。 這不是重復隨機生成。 所以結果重復了。
  • 它應該是一個looplist-comprehension來生成randomLetter

固定代碼:

import random
import string
def add_letters(org,num):
    new_word = ''
    for i in org:
        randomLetter = "".join(random.choice(string.ascii_letters) for _ in range(num))
        new_word += i
        new_word += randomLetter
    return new_word

original = 'Hello!'
for num in range(1,5):
    #scramble the word using 'num' extra characters
    scrambled = add_letters(original,num)
    #output
    print("Adding",num,'random characters to',original,'->',scrambled)

結果:

Adding 1 random characters to Hello! -> HNemldlgos!z
Adding 2 random characters to Hello! -> HVTeGYlYLlxdonV!GM
Adding 3 random characters to Hello! -> HqjbeQyOlgfHlAwqoyCj!PRq
Adding 4 random characters to Hello! -> HyFoLeyHUzlExGelVLlAoOhyz!EuzW

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM