Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะสร้างสตริงสุ่มด้วยตัวอักษรพิมพ์ใหญ่และตัวเลขใน Python ได้อย่างไร?


คุณสามารถใช้ random.choice(list_of_choices) เพื่อรับอักขระแบบสุ่ม จากนั้นวนซ้ำและรับรายการและสุดท้ายเข้าร่วมรายการนี้เพื่อรับสตริง รายการตัวเลือกที่นี่คือตัวพิมพ์ใหญ่และตัวเลข ตัวอย่างเช่น:

import string
import random
def get_random_string(length):
    random_list = []
    for i in xrange(length):
        random_list.append(random.choice(string.ascii_uppercase + string.digits))
    return ''.join(random_list)
print get_random_string(10)

สิ่งนี้จะให้ผลลัพธ์แก่เรา:

'35WO8ZYKFV'

สามารถทำได้ในบรรทัดเดียว:

>>> ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in xrange(10))
'35WO8ZYKFV'

ใน Python 3 เรามีการสุ่ม วิธีทางเลือกซึ่งรับอาร์กิวเมนต์ที่สองเป็นความยาวของสตริงสุ่ม สามารถใช้เพื่อให้ได้เวอร์ชันที่สั้นกว่านี้:

>>> ''.join(random.choices(string.ascii_uppercase + string.digits), k=10)
'35WO8ZYKFV'