第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Python中隨機指定變量

如何在Python中隨機指定變量

紫衣仙女 2023-09-26 14:24:38
我正在創(chuàng)建一個密碼生成器,它獲取所需密碼的長度、字母數(shù)量以及數(shù)字數(shù)量。密碼需要包含大寫字母以及數(shù)字和特殊字符。我無法弄清楚如何指定密碼中的字母和數(shù)字的數(shù)量。這是我到目前為止所擁有的:import randomcharslet ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"charsnum = "1234567890"charssym = "!@#$%^&*"def password():    pwd = ""    passlen = int(input("How long do you want the password to be?: "))    passlet = int(input("How many letters do you want in your password?: "))    passnum = int(input("How many numbers do you want in your password?: "))    passsym = int(passlen - (passlet + passnum))    chars = ""    for let in range(passlet):        chars += random.choice(charslet)    for num in range(passnum):        chars += random.choice(charsnum)    for sym in range(passsym):        chars += random.choice(charssym)    for p in range(passlen):        pwd += random.choice(chars)    print(pwd)password()
查看完整描述

2 回答

?
冉冉說

TA貢獻1877條經(jīng)驗 獲得超1個贊

我認為最后一部分讓你感到困惑。您正在使用chars正確數(shù)量的特定字符構建變量,但最后您再次在它們之間進行選擇。


你可以改變:


for p in range(passlen):

    password += random.choice(chars)


# option 1 - works better if working with lists

list_chars = list(chars)

random.shuffle(chars)

password = "".join(list_chars)


# option 2 - simpler solution for strings

password = "".join(random.sample(char, len(char)))

您還可以使用 shuffle 來選擇之前的字符,而不使用 for 循環(huán),例如:


# for this to work your `charslet` must be a list

random.shuffle(charslet)

chars += "".join(charslet[:passlet])


查看完整回答
反對 回復 2023-09-26
?
米脂

TA貢獻1836條經(jīng)驗 獲得超3個贊

這是更正后的代碼:


    import random


    charslet ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

    charsnum = "1234567890"

    charssym = "!@#$%^&*"


    def password():

        pwd = ""


        passlen = int(input("How long do you want the password to be?: "))

        passlet = int(input("How many letters do you want in your password?: "))

        passnum = int(input("How many numbers do you want in your password?: "))

        passsym = int(passlen - (passlet + passnum))

        chars = ""


        for let in range(passlet):

            chars += random.choice(charslet)

        for num in range(passnum):

            chars += random.choice(charsnum)

        for sym in range(passsym):

            chars += random.choice(charssym)




        list_chars = list(chars)

        random.shuffle(list_chars)

        pwd = "".join(list_chars)


        print(pwd)


    password()

我替換:


    for p in range(passlen):

        password += random.choice(chars)


    list_chars = list(chars)

    random.shuffle(list_chars)

    pwd = "".join(list_chars)

將更改后的chars變量放入列表中可以讓我對其進行洗牌、隨機化并允許我將其分配給pwd


查看完整回答
反對 回復 2023-09-26
  • 2 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號