Tạo chữ số ngẫu nhiên Python

⚔️ Thử thách. Cho một số nguyên

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
8 đại diện cho số chữ số. Làm cách nào để tạo một số ngẫu nhiên có 28 chữ số trong Python?

Dưới đây là ba ví dụ

  • import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    0 tạo ra
    import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    1
  • import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    2 tạo ra
    import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    3
  • import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    0 tạo ra
    import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    1

Tôi sẽ thảo luận về ba phương pháp thú vị để thực hiện điều này một cách dễ dàng trong Python—phương pháp yêu thích của cá nhân tôi là Phương pháp 2

Giải pháp ngắn nhất với randint[]

Hãy bắt đầu với một quan sát được mã hóa bằng tay dễ dàng

Cách dễ nhất để tạo một số ngẫu nhiên có hai chữ số là sử dụng

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
3 của
import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
2, có ba chữ số là
import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
4 và có bốn chữ số là
import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
5

Đây là ví dụ tương tự trong mã Python

from random import randint

# Create random number with two digits [d=2]:
print[randint[10, 99]]

# Create random number with three digits [d=3]:
print[randint[100, 999]]

# Create random number with three digits [d=3]:
print[randint[1000, 9999]]

Giải pháp này có thể được khái quát hóa bằng cách sử dụng một lớp lót

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
6 tạo ra các giá trị bắt đầu và kết thúc một cách nhanh chóng, dựa trên số chữ số
import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
8

Tôi đã sử dụng số học chuỗi đơn giản để xác định chỉ số bắt đầu và kết thúc của phạm vi ngẫu nhiên

  • import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    8 tạo chỉ mục bắt đầu chẳng hạn như 100 cho
    import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    9
  • import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    00 tạo chỉ mục kết thúc được bao gồm trong
    import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    01, chẳng hạn như
    import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    02 cho
    import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    9

Đây là ví dụ Python cơ bản

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''

Giải pháp sạch nhất với randrange[]

Giải pháp rõ ràng nhất dựa trên hàm

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
04 từ mô-đun
import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
05 lấy chỉ mục bắt đầu và kết thúc làm đầu vào và tạo một số ngẫu nhiên ở giữa

Không giống như

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
01, chỉ số kết thúc bị loại trừ trong
import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
04, vì vậy chúng ta có một cách dễ dàng hơn để xây dựng phạm vi cho bài toán số ngẫu nhiên có 28 chữ số.
import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
09

Đây là một ví dụ

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
0

Một giải pháp lặp tổng hợp các đầu ra của các cuộc gọi hàm ngẫu nhiên một chữ số

Bạn cũng có thể sử dụng một lớp lót để thực hiện lặp lại hàm

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
10 cho mỗi chữ số. Để kết hợp các chữ số, bạn chuyển đổi từng chữ số thành một chuỗi, chuyển chúng vào hàm
import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
11 để nhận một chuỗi có
import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
8 ký tự và chuyển đổi chuỗi này trở lại thành một số nguyên

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
13

Đây là cách tiếp cận chính xác này trong một đoạn mã Python

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
1

Bản tóm tắt

Cảm ơn bạn đã đọc hết bài viết—Tôi hy vọng bạn nhận được một số giá trị từ nó

Đây lại là một bản tóm tắt về cách tốt nhất để tạo một số ngẫu nhiên với các chữ số

import random

def my_random[d]:
    ''' Generates a random number with d digits '''
    return random.randint[int['1'+'0'*[d-1]], int['9'*d]]


for i in range[1, 10]:
    print[my_random[i]]

'''
Output:
8
82
296
5909
90957
227691
1348638
61368798
160959002
'''
8 trong Python

  1. import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    6
  2. import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    09
  3. import random
    
    def my_random[d]:
        ''' Generates a random number with d digits '''
        return random.randint[int['1'+'0'*[d-1]], int['9'*d]]
    
    
    for i in range[1, 10]:
        print[my_random[i]]
    
    '''
    Output:
    8
    82
    296
    5909
    90957
    227691
    1348638
    61368798
    160959002
    '''
    13

Cá nhân mình thích cách 2 nhất vì nó ngắn gọn, súc tích và rất hiệu quả

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Chủ Đề