Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

Trình tạo số ngẫu nhiên dựa trên thời gian sẽ chỉ hoạt động nếu được gọi một lần hoặc sử dụng thời gian ngẫu nhiên giữa một sự kiện đầu vào của người dùng

thời gian chức năng. time() chỉ cập nhật 18. 2 lần mỗi giây, quá chậm nếu bạn yêu cầu nhanh một vài số ngẫu nhiên

Được trả lời bởi GreenDay2001 59 trong một

Ý bạn là loại đầu ra của 132434454545435435L này

Chà, điều này xảy ra khi số lớn hơn phạm vi loại số nguyên thông thường. Python chuyển đổi số nguyên bình thường thành loại Dài và Python hiển thị L sau các loại dài. Khi bạn làm _______________ , L không xuất hiện

Được trả lời bởi GreenDay2001 59 trong một

Ý tôi là thay vì in trực tiếp toàn bộ danh sách, bạn phải in các số riêng lẻ, để tránh L ở cuối

for x in rand_num:
   print x

Đã trả lời bởi ov3rcl0ck 25 trong một

Vâng, có một số thuật toán để tạo số ngẫu nhiên, đơn giản nhất theo hiểu biết của tôi là Trình tạo đồng dư tuyến tính (LCG)

Công thức chung của LCG là X_{n+1} = \left( a X_n + c \right)~~\bmod~~m. Các …

Tất cả 17 câu trả lời

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

GreenDay2001

13 năm trước

Tôi phải viết mã để tạo số ngẫu nhiên mà không sử dụng mô-đun ngẫu nhiên và chức năng của nó
Tôi phải làm nó như thế nào?

Vâng, có một số thuật toán để tạo số ngẫu nhiên, đơn giản nhất theo hiểu biết của tôi là Trình tạo đồng dư tuyến tính (LCG)

Công thức chung của LCG là X_{n+1} = \left( a X_n + c \right)~~\bmod~~m. Giá trị được đề xuất cho a, m, c được đưa ra trong trang Wikipedia. Nên sử dụng các kết hợp a, m, c để có tính ngẫu nhiên hơn. Bắt đầu với bất kỳ giá trị nào của X và đối với các số ngẫu nhiên khác nhau mỗi khi bạn chạy mã, hãy chọn X theo thời gian hệ thống

Để lấy số trong phạm vi cụ thể, ví dụ: [L, H) áp dụng điều này cho mọi số ngẫu nhiên được tạo (giả sử Y). Z = L + Y%(H-L)

0 0

Chia sẻ

Đã chỉnh sửa 13 năm trước bởi GreenDay2001 bởi vì. không có

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

vegaseat 1.735 Kẻ đạo đức giả của DaniWeb Đồng nghiệp trong nhóm

13 năm trước

Trình tạo số ngẫu nhiên dựa trên thời gian sẽ chỉ hoạt động nếu được gọi một lần hoặc sử dụng thời gian ngẫu nhiên giữa một sự kiện đầu vào của người dùng

thời gian chức năng. time() chỉ cập nhật 18. 2 lần mỗi giây, quá chậm nếu bạn yêu cầu nhanh một vài số ngẫu nhiên

0 0

Chia sẻ

Đã chỉnh sửa 13 năm trước bởi vegaseat vì. không có

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

sanchitgarg 0 Áp phích dành cho người mới

13 năm trước

Trình tạo số ngẫu nhiên dựa trên thời gian sẽ chỉ hoạt động nếu được gọi một lần hoặc sử dụng thời gian ngẫu nhiên giữa một sự kiện đầu vào của người dùng

thời gian chức năng. time() chỉ cập nhật 18. 2 lần mỗi giây, quá chậm nếu bạn yêu cầu nhanh một vài số ngẫu nhiên

vâng tôi đang đối mặt với nhiều vấn đề khi sử dụng thời gian. nó cũng tạo ra một chuỗi các từ không theo thứ tự tăng dần

tôi đã viết mã cho số từ 1 đến 100. đây rồi

nhập ngày giờ
từ thời gian nhập khẩu giấc ngủ
l=[]
tym=[]

n=int(raw_input("Nhập số. của các số được tạo ra"))

cho tôi trong phạm vi (n)
thời gian = ngày giờ. ngày giờ. Hiện nay()
t=thời gian. phần triệu giây

l. nối thêm (t)
ngủ (0. 012)

in tôi

cho tôi trong (l)
tym. nối thêm (i/10000)

in tym

tại sao tôi lại yêu cầu một số logic khác không có phạm vi giới hạn

0 0

Chia sẻ

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

sanchitgarg 0 Áp phích dành cho người mới

13 năm trước

Vâng, có một số thuật toán để tạo số ngẫu nhiên, đơn giản nhất theo hiểu biết của tôi là Trình tạo đồng dư tuyến tính (LCG)

Công thức chung của LCG là X_{n+1} = \left( a X_n + c \right)~~\bmod~~m. Giá trị được đề xuất cho a, m, c được đưa ra trong trang Wikipedia. Nên sử dụng các kết hợp a, m, c để có tính ngẫu nhiên hơn. Bắt đầu với bất kỳ giá trị nào của X và đối với các số ngẫu nhiên khác nhau mỗi khi bạn chạy mã, hãy chọn X theo thời gian hệ thống

Để lấy số trong phạm vi cụ thể, ví dụ: [L, H) áp dụng điều này cho mọi số ngẫu nhiên được tạo (giả sử Y). Z = L + Y%(H-L)

Tôi đã thử sử dụng công thức này. Nó hoạt động tốt đối với số nhỏ (không chính xác nhỏ nhưng lên tới 1000000000) Sau đó, nó bắt đầu đưa ra L ở cuối số không. Làm cách nào để tăng phạm vi của nó?

0 0

Chia sẻ

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

GreenDay2001

13 năm trước

Ý bạn là loại đầu ra của 132434454545435435L này

Chà, điều này xảy ra khi số lớn hơn phạm vi loại số nguyên thông thường. Python chuyển đổi số nguyên bình thường thành loại Dài và Python hiển thị L sau các loại dài. Khi bạn làm _______________ , L không xuất hiện

0 0

Chia sẻ

Đã chỉnh sửa 13 năm trước bởi GreenDay2001 bởi vì. không có

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

sanchitgarg 0 Áp phích dành cho người mới

13 năm trước

Ý bạn là loại đầu ra của 132434454545435435L này

Chà, điều này xảy ra khi số lớn hơn phạm vi loại số nguyên thông thường. Python chuyển đổi số nguyên bình thường thành loại Dài và Python hiển thị L sau các loại dài. Khi bạn làm _______________ , L không xuất hiện

in num nghĩa là gì? . Tôi muốn in một danh sách các số

0 0

Chia sẻ

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

GreenDay2001

13 năm trước

Ý tôi là thay vì in trực tiếp toàn bộ danh sách, bạn phải in các số riêng lẻ, để tránh L ở cuối

for x in rand_num:
   print x

0 0

Chia sẻ

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

sanchitgarg 0 Áp phích dành cho người mới

13 năm trước

Có phương pháp hay logic nào khác ngoài công thức đó không?

0 0

Chia sẻ

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

ov3rcl0ck 25 Áp phích trẻ

13 năm trước

Vâng, có một số thuật toán để tạo số ngẫu nhiên, đơn giản nhất theo hiểu biết của tôi là Trình tạo đồng dư tuyến tính (LCG)

Công thức chung của LCG là X_{n+1} = \left( a X_n + c \right)~~\bmod~~m. Giá trị được đề xuất cho a, m, c được đưa ra trong trang Wikipedia. Nên sử dụng các kết hợp a, m, c để có tính ngẫu nhiên hơn. Bắt đầu với bất kỳ giá trị nào của X và đối với các số ngẫu nhiên khác nhau mỗi khi bạn chạy mã, hãy chọn X theo thời gian hệ thống

Để lấy số trong phạm vi cụ thể, ví dụ: [L, H) áp dụng điều này cho mọi số ngẫu nhiên được tạo (giả sử Y). Z = L + Y%(H-L)

Có lẽ đầu vào tốt nhất là ngày/giờ, bộ nhớ đã sử dụng, đầu vào người dùng ngẫu nhiên và chuyển động chuột yêu thích của tôi (truecrypt sử dụng cái này)

0 0

Chia sẻ

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

sanchitgarg 0 Áp phích dành cho người mới

13 năm trước

Có lẽ đầu vào tốt nhất là ngày/giờ, bộ nhớ đã sử dụng, đầu vào người dùng ngẫu nhiên và chuyển động chuột yêu thích của tôi (truecrypt sử dụng cái này)

Ngay bây giờ tôi đã sử dụng thời gian cho đầu vào của mình. Bạn có thể vui lòng cung cấp thêm một chút thông tin về bộ nhớ đã sử dụng và chuyển động của chuột không?

0 0

Chia sẻ

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

GreenDay2001

13 năm trước

Có phương pháp hay logic nào khác ngoài công thức đó không?

Tất nhiên có những người khác ngoài kia. Nhưng cái này là bộ đơn giản nhất và sản xuất tốt. Bạn có thể tìm kiếm các thuật toán tạo số giả ngẫu nhiên

http. // vi. wikipedia. org/wiki/List_of_algorithms

>> Có lẽ đầu vào tốt nhất là ngày/giờ, bộ nhớ đã sử dụng, đầu vào người dùng ngẫu nhiên và chuyển động chuột yêu thích của tôi (truecrypt sử dụng cái này)

Tất cả những điều này sẽ giúp bạn gieo hạt. nhưng để tạo các tập hợp, bạn cần một số phương pháp

0 0

Chia sẻ

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

sanchitgarg 0 Áp phích dành cho người mới

13 năm trước

Tất nhiên có những người khác ngoài kia. Nhưng cái này là bộ đơn giản nhất và sản xuất tốt. Bạn có thể tìm kiếm các thuật toán tạo số giả ngẫu nhiên

http. // vi. wikipedia. org/wiki/List_of_algorithms

>> Có lẽ đầu vào tốt nhất là ngày/giờ, bộ nhớ đã sử dụng, đầu vào người dùng ngẫu nhiên và chuyển động chuột yêu thích của tôi (truecrypt sử dụng cái này)

Tất cả những điều này sẽ giúp bạn gieo hạt. nhưng để tạo các tập hợp, bạn cần một số phương pháp

Tôi đã tìm kiếm trên wikipedia và thấy nhiều thuật toán khác. Phần còn lại quá phức tạp

Ý nghĩa của hạt giống là gì?

n bộ đề cập đến danh sách các số ngẫu nhiên?

0 0

Chia sẻ

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

vegaseat 1.735 Kẻ đạo đức giả của DaniWeb Đồng nghiệp trong nhóm

13 năm trước

Mã Python này chỉ cho bạn cách chọn một số ngẫu nhiên từ danh sách

# picking random numbers from a list
# Python2 syntax

def pick_rand(rand_list, start=-1, incr=1):
    """
    closure based function that cycles through rand_list one index
    at a time for each call, index resets to zero at end of list
    """
    def inner():
        inner.index += incr
        if inner.index >= len(rand_list):
            inner.index = 0
        return rand_list[inner.index]
    inner.index = start
    return inner   

# random number list of 100 numbers from 0 to 99
# created by timing user input events
rand_list = [
6, 40, 3, 6, 93, 81, 84, 56, 43, 31, 34, 21, 9, 96, 84, 87, 6, 9,
12, 0, 87, 59, 31, 18, 6, 9, 96, 68, 56, 59, 31, 3, 75, 62, 34, 21, 
9, 96, 68, 56, 43, 0, 71, 59, 31, 34, 6, 78, 65, 37, 25, 96, 84, 71, 
59, 46, 34, 6, 9, 81, 53, 40, 28, 84, 56, 43, 65, 84, 87, 59, 62, 
50, 21, 9, 96, 84, 71, 59, 46, 18, 90, 93, 81, 84, 71, 59, 31, 34, 
53, 40, 46, 3, 75, 75, 50, 6, 65, 21, 87, 15
]

# testing only ...
print len(rand_list)  # 100
print "average = %d" % (sum(rand_list)//len(rand_list))  # 48

# needed!
rand = pick_rand(rand_list)

# show 10 random numbers
for k in range(10):
    print rand(),

print

# show another 10 random numbers
for k in range(10):
    print rand(),

Danh sách được tạo theo cách này

# a time based random number generator 
# that uses the random time between a user's input events
# to create a list of random numbers
# Python2 syntax

import time

def random_number(low, high):
    """
    a time based random number generator 
    uses the random time between a user's input events
    returns an integer between low and high-1
    """
    return int(low + int(time.time()*1000) % (high - low))

low = 0
high = 100
count = 0
rand_list = []
print "Press enter for a random number (q to quit):"
while True:
    sel = raw_input()
    if sel == 'q':
        break
    rand = random_number(low, high)
    rand_list.append(rand)
    # give user feedback
    print "%d --> %d" % (count, rand)
    count += 1

print rand_list

"""my rand_list 0f 100 random numbers between 0 and 99 -->
[6, 40, 3, 6, 93, 81, 84, 56, 43, 31, 34, 21, 9, 96, 84, 87, 6, 9, 
12, 0, 87, 59, 31, 18, 6, 9, 96, 68, 56, 59, 31, 3, 75, 62, 34, 21, 
9, 96, 68, 56, 43, 0, 71, 59, 31, 34, 6, 78, 65, 37, 25, 96, 84, 71, 
59, 46, 34, 6, 9, 81, 53, 40, 28, 84, 56, 43, 65, 84, 87, 59, 62, 
50, 21, 9, 96, 84, 71, 59, 46, 18, 90, 93, 81, 84, 71, 59, 31, 34, 
53, 40, 46, 3, 75, 75, 50, 6, 65, 21, 87, 15]
"""

Tôi đã tạo rand_list tương đối ngắn cho ví dụ này, thông thường bạn có thể muốn kéo dài >1000

0 0

Chia sẻ

Đã chỉnh sửa 13 năm trước bởi vegaseat vì. không có

Làm cách nào để tạo số ngẫu nhiên trong Python mà không sử dụng ngẫu nhiên?

ov3rcl0ck 25 Áp phích trẻ

13 năm trước

Ngay bây giờ tôi đã sử dụng thời gian cho đầu vào của mình. Bạn có thể vui lòng cung cấp thêm một chút thông tin về bộ nhớ đã sử dụng và chuyển động của chuột không?

Tìm nạp mức sử dụng bộ nhớ và đầu vào chuột phụ thuộc vào hệ điều hành. Không có thư viện để tìm nạp mức sử dụng bộ nhớ, nhưng bạn có thể sử dụng lệnh "mem" trên windows để tìm nạp và lệnh "ps" hoặc "free" trên UNIX để tìm nạp, nhưng hãy nhớ rằng bạn có thể cần . Đối với đầu vào chuột, bạn có thể sử dụng pyHook cho windows và xlib cho UNIX (OS X hỗ trợ X11 và mọi bản phân phối Unix đáng sử dụng đều hỗ trợ nó)

Làm cách nào để lấy số ngẫu nhiên trong Python mà không có mô-đun ngẫu nhiên?

Tạo số nguyên ngẫu nhiên trong Python . a= là mức thấp nhất của phạm vi, có thể được chọn. b= là mức cao nhất của phạm vi, cũng có thể được chọn. use the randint() function, which accepts two parameters: a= is the low end of the range, which can be selected. b= is the high end of the range, which can also be selected.

Tôi có thể sử dụng cái gì thay vì ngẫu nhiên trong Python?

Sử dụng mô-đun "bí mật" - Đây là mô-đun tích hợp sẵn. bí mật nhập khẩu bí mật. ngẫu nhiên (10) NÓ TẠO MỘT SỐ TRONG GIỮA 0 ĐẾN 10 HOẶC GIÁ TRỊ CỦA BẠN.

Có cách nào trong Python để tạo số ngẫu nhiên không?

Để tạo số ngẫu nhiên trong Python, hàm randint() được sử dụng . Chức năng này được xác định trong mô-đun ngẫu nhiên.

Làm cách nào để tạo số ngẫu nhiên bằng Python trong phạm vi mà không cần lặp lại?

nhập numpy dưới dạng np; . ngẫu nhiên. hoán vị (100) [. 10] cũng tạo ra 10 số được chọn từ 0 đến 99, không trùng lặp