Trình tạo mã vé ngẫu nhiên


18

Một công ty xổ số muốn tạo ra một số vé xổ số ngẫu nhiên có độ dài 10 ký tự.

Viết mã bằng bất kỳ ngôn ngữ nào để tạo một số như vậy trong đó mỗi chữ số chỉ xuất hiện một lần, ví dụ 9354716208trong số này, tất cả các số nguyên từ 0 đến 9 chỉ xuất hiện một lần. Số này phải là một số ngẫu nhiên.

  • Số lượng được tạo nên được hiển thị trên màn hình.
  • Nó phải có khả năng tạo ra tất cả các hoán vị của tất cả các ký tự được phép.
  • Mã được yêu cầu càng nhỏ càng tốt (tính bằng byte).

3
Tại sao nó phải ở trong Java hoặc PhP?
Fabinout

4
Nói chung, nên cho phép bất kỳ ngôn ngữ nào, theo mô tả mã golf .
Konrad Borowski

10
Làm thế nào mà một trong những câu trả lời dài nhất và ít bị đánh gôn nhất (câu trả lời SQL), thậm chí không có số đếm, lại là câu trả lời được chấp nhận trong môn đánh gôn khi những người như @Howard có 5 hoặc 8 câu trả lời?
Darren Stone

1
Có, @marinus có giải pháp 4 byte (của tôi là 6 byte)
Timtech

4
-1 Việc lựa chọn người chiến thắng là không phù hợp, cho rằng đây là một thử thách chơi gôn.
DavidC

Câu trả lời:


41

J (4 byte)

Không thể cưỡng lại.

?~10

Trong J, nếu Flà dyadic, F~ xcũng giống như x F x.


3
+1 Tôi nghĩ rằng tôi có thể phải thử một cái gì đó ngắn gọn hơn Python để đánh bại điều này.
Joachim Isaksson

Điều này có cho phép mật khẩu bắt đầu bằng không? Theo các quy tắc, chương trình "phải có khả năng tạo ra tất cả các hoán vị của tất cả các ký tự được phép"
DavidC

@DavidCarraher: có. Nó chọn 10 số ngẫu nhiên không lặp lại từ khoảng [0..10), do đó về cơ bản có nghĩa là hoán vị ngẫu nhiên '0123456789'.
bến tàu

1
Tôi hiểu rồi. Tôi đã nêu ra điều này bởi vì trong hầu hết các ngôn ngữ, "số", 0123456789, sẽ tự động được chỉnh sửa thành mẫu 123456789. Chuỗi, "0123456789", vẫn chưa được xử lý. Vì vậy, câu hỏi của tôi thực sự là thế này: đầu ra của bạn là một số hay một chuỗi?
DavidC

@DavidCarraher Đó là một mảng.
swish

12

J, 5 ký tự và APL, 8 ký tự

J

10?10

J có toán tử thỏa thuận tích hợp ( ?). Vì vậy, chúng ta có thể lấy 10 trên 10 ( 10?10).

APL

1-⍨10?10

APL có cùng một toán tử không may bắt đầu bằng một thay vì 0. Do đó, chúng tôi đang trừ một từ mỗi số ( 1-⍨Xcó nghĩa là X-1do toán tử đi lại).


Ồ, wow, thật tuyệt.
Konrad Borowski

Nếu OP sẽ yêu cầu cụ thể số lượng không phải là một mảng, bạn nên chuyển nó sang số base10 cũng có, với10#.
swish

Bạn có thể cho rằng ⎕IO←0vì vậy bạn không phải trừ đi. Ngoài ra, đối với cả J và APL, bạn có thể sử dụng commute để lưu một byte với ?~10?⍨10vì ứng dụng đơn điệu của hàm dẫn xuất cũng sử dụng đối số bên phải của nó làm đối số bên trái. Tuy nhiên, điều này làm cho mã J giống hệt với mã Marinus .
Adám

9

Python 2.7 ( 64 63 57)

Không phải là một cơ hội ở đây so với các ngôn ngữ nặng của nhà điều hành và do thiếu ngẫu nhiên được tải ngẫu nhiên :) Đây là ngắn nhất tôi có thể đưa ra;

from random import*
print''.join(sample("0123456789",10))

Nó tạo ra một phạm vi và lấy mẫu 10 số từ nó mà không cần thay thế.

(Cảm ơn @xfix đã sửa lỗi định dạng nhập ngắn hơn và @blkknght vì đã chỉ ra phạm vi lấy mẫu phức tạp hơi khó hiểu của tôi)

Con trăn 2.7 (40)

Nếu bạn chạy nó từ dấu nhắc tương tác và có thể đọc dấu phẩy được phân tách, bạn có thể cạo nó thành 40, nhưng cảm giác hơi giống như phá vỡ tinh thần của các quy tắc;

from random import*
sample(range(10),10)

1
Bạn có thể sử dụng from random import*để lưu một ký tự. Điều này trông giống như giải pháp Perl 6 của tôi, nhưng dài dòng hơn, nhưng thật tuyệt khi thấy rằng một cái gì đó như thế này có thể hoạt động trong Python, ngay cả khi dài dòng hơn.
Konrad Borowski


Bạn có thể lưu thêm một vài ký tự bằng cách lấy mẫu từ chuỗi "0123456789"thay vì sử dụng rangevà ánh xạ chúng str.
Blckknght

@Blckknght Cảm ơn, đã cập nhật với đề xuất của bạn :)
Joachim Isaksson

8

PHP, 29 ký tự

<?=str_shuffle('0123456789');

Với PHP, thẻ đóng không bắt buộc. Nhưng nếu điều đó trái với quy tắc, thì bạn có thể thay thế; với?> cho 1 tăng ròng.


Bạn đánh tôi với giải pháp này.
Shaun Bebbers

8

Hồng ngọc, 18

Chạy cái này trong irb:

[*0..9].shuffle*''

Nếu bạn muốn đây là một chương trình độc lập, với đầu ra stdout(các quy tắc dường như không yêu cầu điều này), thì hãy thêm 4 ký tự này vào lúc bắt đầu:

$><<

Bạn có thể rút ngắn (0..9).to_ađể [*0..9].
Howard

Xong rồi xong, thưa ông. Cảm ơn!
Darren Stone

Không có gì. Nhưng tại sao bạn không sử dụng [*0..9].shuffleở nơi đầu tiên?
Howard

@Howard, vì đã muộn và tôi thật ngốc. :) Cảm ơn!
Darren Stone

mảng trả về này với số không phải là số

8

PHP - 37 ký tự

<?=join('',array_rand(range(0,9),10))

Tôi đã có một giải pháp 18 ký tự nên hoạt động trên lý thuyết nhưng PHP thật kỳ lạ.

Hoặc, nếu bạn muốn một câu trả lời xkcd:

<?="5398421706" // Chosen by program above; guaranteed to be random ?>

EDIT: Cảm ơn xfix, giờ đây ngắn hơn 5 ký tự và đầy đủ. EDIT LẠI: Ví dụ trực tiếp .


Viết một chương trình hoàn chỉnh, thay vì chỉ hoàn thành các phần. Ngoài ra, echokhông cần parens, và nếu echolà câu lệnh đầu tiên trong chương trình, bạn có thể thay thế <?php echobằng <?=. Ngoài ra, joinlà một bí danh cho implode.
Konrad Borowski

@xfix Cảm ơn, tôi sẽ sửa. :)
cjfaure

Bạn thậm chí không cần <?=?>. Đó là mã PHP hợp lệ mà không cần mã.
ngốc

@Jeremy Golf yêu cầu số đó được hiển thị; ngoài ra, echo có cùng độ dài <?=và được ?>kết hợp, và không có những thứ đó, nó không hoạt động trong Codepad. Cảm ơn mặc dù. : P
cjfaure

1
@Jeremy Ah, PHP, nơi các triển khai không được nhúng bên cạnh một thiết bị đầu cuối đang khan hiếm. : P
cjfaure

8

Perl 6 (18 16 ký tự)

print pick *,^10

Điều này tạo ra mảng chứa tất cả các phần tử ngẫu nhiên ( pick *) từ 0đến 9và xuất kết quả ( print).

Đầu ra mẫu:

$ perl6 -e 'print pick *,^10'
4801537269
$ perl6 -e 'print pick *,^10'
1970384265
$ perl6 -e 'print pick *,^10'
3571684902

+1 Tôi nghĩ bạn không cần khoảng trắng trước pick.
Howard

1
@Howard: Tôi thực sự cần nó. [~](được phân tích cú pháp dưới dạng listop, theo ngữ pháp Perl 6) yêu cầu một khoảng trắng (hoặc paren) sau nó nếu nó chứa bất kỳ đối số nào. Mặt khác, trình biên dịch Perl 6 phàn nàn về "hai thuật ngữ liên tiếp". Nó không cần thiết trong các phiên bản cũ hơn của Perl 6, nhưng đây là quá khứ. Perl 6 vẫn đang được làm việc.
Konrad Borowski

1
@xfix: sử dụng printthay vì say [~]và lưu 2 ký tự :)
Ayiko

@Ayiko: Cảm ơn vì sự cải tiến :).
Konrad Borowski

7

GolfScript, 12 ký tự

10,{;9rand}$

Đơn giản chỉ cần tạo danh sách các chữ số ( 10,) và sắp xếp nó {...}$theo một số khóa ngẫu nhiên - tạo ra một thứ tự ngẫu nhiên của các chữ số.

Ví dụ (thử trực tuyến ):

4860972315

0137462985

Tôi chuẩn bị đăng bài này: P
Doorknob

Tuy nhiên, đó là một loại xáo trộn tào lao: ví dụ, chữ số đầu tiên có khả năng bằng 0 lần so với 1. Thay thế 9randbằng 99rand(hầu hết) sẽ khắc phục điều đó; 9.?randsẽ thực sự hoàn hảo .
Ilmari Karonen

1
@IlmariKaronen Tôi biết, nhưng câu hỏi không nói gì về phân phối đồng phục.
Howard

6

R (23 ký tự)

cat(sample(0:9),sep="")

Đầu ra mẫu:

> cat(sample(0:9),sep="")
3570984216
> cat(sample(0:9),sep="")
3820791654
> cat(sample(0:9),sep="")
0548697132

6

TI-BASIC, 5 byte

randIntNoRep(1,10

Hiển thị một danh sách chứ không phải là một số. Bạn đang tìm kiếm randIntNoRep(0,9:.1sum(Ans10^(cumSum(1 or Ans.
lirtosiast

2
Tôi không nghĩ thử thách này yêu cầu loại số nguyên, chỉ có điều "Số được tạo nên được hiển thị trên màn hình".
Timtech

Hmm, tôi nghĩ các câu hỏi đã được yêu cầu cho một số (cũng như những người khác nhưng có vẻ như mục đích của tác giả thách thức không bao giờ được làm sáng tỏ một số đầu ra các giải pháp khác như một danh sách (J và APL) trong mọi trường hợp..
lirtosiast

Chà, tôi sẽ không cho rằng trừ khi tôi chắc chắn, vì phương pháp này ngắn hơn.
Timtech

5

Octave (14)

randperm(10)-1

randperm không may tạo một lựa chọn từ 1..n, vì vậy phải trừ 1 ở cuối để có 0-9.


5

Trong máy chủ sql

DECLARE @RandomNo varchar(10)
SET @RandomNo = ''

;WITH num as (
SELECT 0 AS [number]
Union 
select 1
Union 
select 2
Union 
select 3
Union 
select 4
Union 
select 5
Union 
select 6
Union 
select 7
Union 
select 8
Union 
select 9
)
SELECT Top 9 @RandomNo = COALESCE(@RandomNo + '', '') + cast(n.number AS varchar(1))
FROM numbers n
ORDER BY NEWID()

SELECT cast(@RandomNo AS numeric(10,0))

Xem bản demo

HOẶC một cái gì đó tương tự (lịch sự của @manatwork) bằng cách sử dụng đệ quy và xml.

with c as(select 0i union all select i+1from c where i<9)select i+0from c order by newid()for xml path('')

1
Man, bạn yêu CTEs bù Nhưng vì đây là một thử thách golf-code , nên rút ngắn nó càng nhiều càng tốt. Tốt nhất của tôi là 186 ký tự : select i+0from(select 0i union select 1union select 2union select 3union select 4union select 5union select 6union select 7union select 8union select 9)f order by newid()for xml path(''). (BTW, mẹo hay đó newid().)
manatwork

1
Ok, bạn nói đúng. Là ngắn hơn với CTE. 106 ký tự : with c as(select 0i union all select i+1from c where i<9)select i+0from c order by newid()for xml path('').
manatwork

Bạn có thể đơn giản hóa cte với(VALUES (1),(2),...)
ypercubeᵀᴹ

5

Javascript ( 79 78 68 ký tự)

Thay vì tạo một mảng với các số 0-9 và sắp xếp nó, tôi quyết định tạo các số ngẫu nhiên. Khi nó xuất hiện một số chưa có trong mảng thì thêm nó vào. Điều này lặp lại mười lần và sau đó cảnh báo đầu ra.

for(a="";!a[9];){~a.indexOf(b=~~(Math.random()*10))||(a+=b)}alert(a)


Bạn có thể lưu 1 byte bằng cách ||đánh giá ngắn mạch thay vì ifthích: for(a="";!a[9];){b=Math.floor(Math.random()*10);~a.indexOf(b)||(a+=b)}alert(a)
Steven Palinkas

1
@StevenPalinkas Cảm ơn, ý tưởng tuyệt vời! Tôi đã cập nhật bài viết cho phù hợp.
scribpetaniac

Chúng tôi cũng có thể lưu 2 byte với một chút sắp xếp lại trong mã:for(a="";!a[9];){~a.indexOf(b=Math.floor(Math.random()*10))||(a+=b)}alert(a)
Steven Palinkas

Chúng ta có thể lưu thêm 8 byte bằng cách sử dụng "tốc ký" cho Math.floor như:for(a="";!a[9];){~a.indexOf(b=~~(Math.random()*10))||(a+=b)}alert(a)
Steven Palinkas

4

Toán học, 27

Row@RandomSample@Range[0,9]

nhập mô tả hình ảnh ở đây


Cách tốt đẹp để tránh chuỗi!
DavidC

4

Vỏ / Coreutils, 23

shuf -i0-9|paste -sd ''

Nếu chúng tôi không cần một dòng mới, bạn có thể cạo nó thành 20 vớishuf -i0-9|tr -d \\n
joeytwiddle

những gì vềshuf -zi0-9
marcosm

@marcosm: Điều đó cung cấp cho bạn các dòng kết thúc bằng số 0, hơi lạ.
Hasturkun

4

JavaScript, 82 ký tự

EDIT: Nhờ Rob W , độ dài mã được giảm xuống 90 ký tự.

EDIT: Nhờ George Reith , độ dài mã được giảm xuống còn 82 ký tự (sử dụng vòng lặp for).

Cách khá đơn giản: chọn phần tử ngẫu nhiên của [0,1,2,3,4,5,6,7,8,9]mảng và nối nó vào đầu ra, sau đó giảm mảng và phát lại.

Phiên bản cũ (106 ký tự):

a=[0,1,2,3,4,5,6,7,8,9],l=11,t="";while(--l){r=Math.floor(Math.random()*l);t+=a[r];a.splice(r,1);}alert(t)

Phiên bản dễ đọc:

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], l = 10,t = "";
while(l--) {
  r = Math.floor(Math.random() * l);
  t += a[r];
  a.splice(r, 1);
}
alert(t);

Phiên bản tốt hơn (90 ký tự):

a="0123456789".split(t=""),l=11;while(--l)t+=a[r=0|Math.random()*l],a.splice(r,1);alert(t)

Phiên bản cuối cùng (82 ký tự):

a="0123456789".split(t='');for(l=11;--l;t+=a.splice(0|Math.random()*l,1));alert(t)

Mã thông báo: http://jsfiddle.net/gthacoder/qH3t9/ .


1
Tôi đánh gôn phương pháp của bạn xuống 90 ký tự : a='0123456789'.split(t=''),l=10;while(l--)t+=a[r=0|Math.random()*l],a.splice(r,1);alert(t). Người tiết kiệm lớn: Math.random(x)=== 0|x. Thay thế dấu ngoặc nhọn và dấu chấm phẩy bằng dấu phẩy. Trực tiếp sử dụng kết quả của một bài tập làm giá trị, thay vì sử dụng biến trung gian. Cuối cùng, khởi tạo mảng ban đầu bằng cách sử dụng .split(r=''). Điều này ngắn hơn so với việc tạo một mảng bằng cách sử dụng các mảng bằng chữ và gán giá trị chuỗi trong một biểu thức riêng.
Rob W

@RobW Cảm ơn lời khuyên. Tôi cập nhật câu trả lời của tôi. PS tôi đoán bạn có nghĩa là Math.floor(x) === 0|x.
gthacoder

1
Điều này luôn luôn có 9 ở cuối. Để khắc phục, hãy khởi tạo l=11và chuyển điều kiện vòng lặp while của bạn sangwhile(--l)
Greg

@Greg Điểm tốt. Cảm ơn bạn. Tôi cập nhật câu trả lời.
gthacoder

1
82 Ký tự: a="0123456789".split(t='');for(l=11;--l;t+=a.splice(0|Math.random()*l,1));alert(t)- Mã của bạn phù hợp hoàn hảo với một đối số khởi tạo vòng lặp, điều kiện và biểu thức. Các rbiến là dư thừa.
George Reith

4

C #, 145 byte

Ung dung

using System;
using System.Linq;
class P
{
    static void Main()
    {
        Enumerable.Range(0,10).OrderBy(g => Guid.NewGuid()).ToList().ForEach(Console.Write);
    }
}

Chơi gôn

using System;using System.Linq;class P{static void Main(){Enumerable.Range(0,10).OrderBy(g => Guid.NewGuid()).ToList().ForEach(Console.Write);}}

1
Bạn có thể sử dụng Enumerable.Range(0,10)và bạn không cần dấu ngoặc nhọn trong foreachvòng lặp.
Rik

3

JavaScript (80 ký tự)

alert("0123456789".split("").sort(function(){return .5-Math.random()}).join(""))

F-Fiddle: http://jsfiddle.net/IQAndreas/3rmza/


3
Lưu ý rằng điều này có thể được chơi thêm bằng cách sử dụng chức năng mũi tên (hiện chỉ hoạt động trong FF, nhưng sẽ sớm xuất hiện ở phiên dịch viên ở khắp mọi nơi):alert("0123456789".split("").sort(n=>.5-Math.random()).join(""))
apsillers

1
Bạn không cần khoảng trống giữa return.5
Tibos

1
@Greg Shhhh! Bạn có biết một hàm xáo trộn thực sự mất bao nhiêu ký tự không? ;)
IQAndreas

1
@Greg Đó là một phân phối ngẫu nhiên (giả sử Math.random là đủ ngẫu nhiên), nó không phải là một phân phối thống nhất.
SuperJedi224

1
Bài đăng trên blog ban đầu đã biến mất, thêm kho lưu trữ internet cho hậu thế: web.archive.org/web/20150212083701/http://sroucheray.org/blog/ Lỗi
Greg

3

K / Kona (6)

-10?10

Như với J, ?là nhà điều hành giao dịch; các -giá trị buộc không lặp lại.


3

Toán học 40

Số được tạo dưới dạng chuỗi để cho phép số 0 được hiển thị dưới dạng ký tự đầu tiên, khi cần.

""<>RandomSample["0"~CharacterRange~"9"]

Ví dụ đầu ra

"0568497231"
"6813029574"

Giải trình

"0"~CharacterRange~"9" là ký hiệu infix cho `CharacterRange [" 0 "," 9 "]". Một trong hai thứ này trả về danh sách, {"0", "1", "2", "3", "4", "5", " 6 "," 7 "," 8 "," 9 "}.

RandomSample[list]theo mặc định trả về một hoán vị của danh sách. (Nó cũng có thể được sử dụng cho các loại lấy mẫu khác, khi bao gồm các tham số. Ví dụ: RandomSample[list, 4]sẽ trả về một mẫu ngẫu nhiên gồm 4 ký tự, không lặp lại.


Nhưng tại sao phải hiển thị 0 là ký tự đầu tiên?
Ankush

Theo OP, chương trình "phải có khả năng tạo ra tất cả các hoán vị của tất cả các ký tự được phép".
DavidC

@Ankush Đó là ký hiệu infix, vì vậy "0" không phải luôn là ký tự đầu tiên.
Ajasja

Ajasja là chính xác. Chương trình có thể tạo ra bất kỳ hoán vị. Tôi đã thêm một số nhận xét ở trên để làm rõ điều này.
DavidC


2

Viết tắt, 72

needs random.fs : r ': '0 do i loop 9 for i 1+ random roll emit next ; r

Phòng vẫn để chơi golf, có thể, nhưng Forth đã làm điều này khó khăn. Tôi nghĩ.


2

Prolog, 177/302 ký tự

Tôi là người mới bắt đầu sử dụng Prolog, vì vậy có lẽ đây không phải là mã cô đọng nhất.

:- use_module(library(clpfd)).
sort(N) :-
    N = [N0,N1,N2,N3,N4,N5,N6,N7,N8,N9],
    domain([N0],1,9),
    domain([N1,N2,N3,N4,N5,N6,N7,N8,N9],0,9),
    all_different(N),
    labeling([],N).

Trả về:

| ?- sort2(N).                                         
N = [1,0,2,3,4,5,6,7,8,9] ? ;
N = [1,0,2,3,4,5,6,7,9,8] ? ;
N = [1,0,2,3,4,5,6,8,7,9] ? ;
N = [1,0,2,3,4,5,6,8,9,7] ? ;
N = [1,0,2,3,4,5,6,9,7,8] ? 
yes

Nếu bạn muốn nó trả về một số nguyên:

:- use_module(library(clpfd)).
sort(M) :-
    N = [N0,N1,N2,N3,N4,N5,N6,N7,N8,N9],
    domain([N0],1,9),
    domain([N1,N2,N3,N4,N5,N6,N7,N8,N9],0,9),
    all_different(N),
    labeling([],N),
    M is (N0*1000000000)+(N1*100000000)+(N2*10000000)+(N3*1000000)+
         (N4*100000)+(N5*10000)+(N6*1000)+(N7*100)+(N8*10)+N9.

Trả về:

| ?- sort(N).
N = 1023456789 ? ;
N = 1023456798 ? ;
N = 1023456879 ? ;
N = 1023456897 ? ;
N = 1023456978 ? 
yes

Sử dụng thay thế:

labeling([down],N)

Cho các số theo thứ tự ngược lại:

| ?- sort(N).                                        
N = 9876543210 ? n
N = 9876543201 ? n
N = 9876543120 ? n
N = 9876543102 ? n
N = 9876543021 ? 
yes

Không giống như một số mã khác được đăng, điều này trả về tất cả các khả năng (không lặp lại).


2

q / kdb [6 ký tự]

-10?10

sẽ tạo ra 10 số ngẫu nhiên duy nhất.



2

Clojure, 42

(println (apply str (shuffle (range 10))))

6209847315


Số được tạo phải được hiển thị trên màn hình, không phải là các bộ phận.
Sylwester

2

Javascript, 83 ký tự

a=[];while(!a[9]){b=Math.floor(Math.random()*10);!a.includes(b)&&a.push(b)}alert(a)

Trong khi chạy cho đến khi mảng có 10 phần tử.

Tạo số ngẫu nhiên từ 0 - 9, sau đó kiểm tra xem mảng có bao gồm số này không và thêm nó vào mảng.


1
Chào mừng đến với trang web! :)
DJMcMayhem

1

Đây không phải là nhỏ hơn nhiều so với câu trả lời của JMK, nhưng đây là một giải pháp C # nhỏ hơn một chút (135):

using System;
using System.Linq;
class P { 
    static void Main() 
    { 
        Console.Write(string.Join("", "0123456789".OrderBy(g => Guid.NewGuid()))); 
    } 
}

Nén (134):

using System;using System.Linq;class P{static void Main(){Console.Write(string.Join("", "0123456789".OrderBy(g => Guid.NewGuid())));}}

Phiên bản thay thế (135):

using System;
using System.Linq;
class P { 
    static void Main() 
    { 
        "0123456789".OrderBy(g => Guid.NewGuid()).ToList().ForEach(Console.Write); 
    } 
}

Nén:

using System;using System.Linq;class P{static void Main(){"0123456789".OrderBy(g => Guid.NewGuid()).ToList().ForEach(Console.Write);}}

Chúng có chiều dài bằng nhau, nhưng nó thực sự phụ thuộc vào việc bạn muốn sử dụng chức năng ForEach của Linq hay chức năng Tham gia của String. Tôi đã có thể xóa 10 ký tự bằng cách đánh vần phạm vi "0123456789" trong một chuỗi thay vì sử dụng Enumerable.Range (0, 10).


1

LOGO , 64 ký tự

make "d 1234567890
repeat 10 [
    make "n pick d
    show n
    make "d butmember n d
]

chọn trả về mục ngẫu nhiên của danh sách được cung cấp. danh sách trả về butmember với tất cả các lần xuất hiện của mục đã chỉ định bị xóa. Lưu ý: Không phải tất cả các butmemberlệnh hỗ trợ triển khai Logo .


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.