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? Show Dưới đây là ba ví dụ
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
Đâ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ắtCả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
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 |