⚔️ 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 raimport 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 '''
1import 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 raimport 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 '''
3import 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 raimport 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 choimport 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 '''
9import 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 trongimport 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 choimport 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
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 '''
6import 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 '''
09import 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