0'dan 10'a rasgele bir sayı almak için X is random(10).
yapabilirim, ancak rastgele eşleme öğesi almak için benzer bir komut var mı?Rastgele öğeler Prolog
5
A
cevap
3
Bunu uygulayabilirsiniz.
%% choose(List, Elt) - chooses a random element
%% in List and unifies it with Elt.
choose([], []).
choose(List, Elt) :-
length(List, Length),
random(0, Length, Index),
nth0(Index, List, Elt).
http://ozone.wordpress.com/2006/02/22/little-prolog-challenge/ itibaren
6
SWI-Prolog v6 böyle random_member/2
tanımlamıştır:
?- listing(random_member).
random:random_member(D, A) :-
length(A, B),
C is random(B),
nth0(C, A, D).
Kullanım örneği:
?- random_member(a(N), [a(1), a(2), b(3)]).
N = 1.
?- random_member(a(N), [a(1), a(2), b(3)]).
N = 1.
?- random_member(a(N), [a(1), a(2), b(3)]).
N = 2.
?- random_member(a(N), [a(1), a(2), b(3)]).
false.
?- random_member(a(N), [a(1), a(2), b(3)]).
false.
?- random_member(a(N), [a(1), a(2), b(3)]).
N = 2.
Muhtemelen kullanmak istiyorum Burada bir sürümüdür Yine de (-,+)
modunda.
İlgili konular
- 1. Tablo içinde rastgele öğeler oluşturma
- 2. Prolog
- 3. Prolog
- 4. Prolog
- 5. Prolog -
- 6. Prolog
- 7. Bir prolog betiği çalıştırırken prolog yazdırma sorgusu sonuçlarını nasıl yapabilirim
- 8. Dizeleri prolog olarak yönet
- 9. Prolog sembolü tablo
- 10. Prolog listesi ardışık çift
- 11. SICStus Prolog JIT derleyicisi
- 12. prolog sonsuz döngü bilinmiyor
- 13. Kural bağımlılığı grafiği Prolog
- 14. C# ile Prolog Entegrasyonu #
- 15. Prologların listesini al Prolog
- 16. Prolog kural bağımlılıklarını görüntüleme
- 17. Prolog: Yinelenenleri Kaldırma
- 18. Dosyaya yazılıyor (Prolog)
- 19. Bir Prolog algoritması
- 20. Prolog: toplam X heceleri
- 21. Rastgele ve Rastgele eşzamanlılıktan IntStream
- 22. Prolog kullanarak listedeki iki eleman?
- 23. Basitleştirilmiş Gezici Satış Noktası Prolog
- 24. Anahtarı ifadeleri Prolog yüklemler ise
- 25. Saf prolog küçük programların kaynağı
- 26. Rastgele düşmanı rastgele nesne kullanarak nasıl değiştirirsiniz?
- 27. Çeşitli rastgele rastgele işlevler arasındaki fark
- 28. Rastgele eleman
- 29. Rastgele İşlevler
- 30. rastgele hata.
Whoa,/2 seçiminin ilk maddesi, sizin istediğinizi değil. Eğer boş bir liste varsa, Elt'i boş liste ile birleştirmek yerine çözüm üretmemelisiniz. "([], _) 'ı seçin: -, başarısız." düzeltirdi. Aynı zamanda, bu genellikle istenmeyen olan sonsuz sayıda çözüm üretir. – rndmcnlly