Bu girdi Burdaki girdiden esinlenilerek yazıldı.
E madem pyton ile sayısal kuponu yapılıyor biz niye scheme ile yapmayalım bunu demi:)
Probleme göre kod bana çok uzun geldi. Belki ilerde optimize edebilirim. Ama şimdilik böyle oynayalım demi:)
(define (sayisal)
(display "Oynamak istediginiz kolan sayisini giriniz: \n")
(let ((kolon (read)))
(do ((i 1 (+ i 1))) ((> i kolon))
(let loop ((lst (list (+ (random 49) 1)))
(sayi (+ 1 (random 49))))
(if (= (length lst) 6)
(printf "~a. kolon: ~a\n" i (sort lst < ))
(if (member sayi lst)
(loop lst (+ (random 49) 1))
(loop (append lst (list sayi))
(+ (random 49) 1))))))))
(sayisal);burası kodun çalıştırılması için.
;aslında define kısmı çıkartılarak buna gerek kalmamayabilir
;ama ilerde belki başka birşey içinde kullanırım:)
DrScheme v372 çıktı. Bu versiyonunda birçok hatanın düzeltildiği ve birkaç yeni özellik eklendiği belirtiliyor. Sanırım beni ençok etkileyen özellik kod tamamlama özelliği. Siz bir kod yazarken o size ekleyebileceğiniz konutları sıralıyor. Ancak bu özellik çok kullanışlı bir halde gelmiyor. Tamamlama istediğimiz zaman [ Ctrl / ] tuş kombinasyonunu kullanmamız gerekmekte. Bende [ Ctrl Shift 7 ] kombinasyonunun kullanılması gerekiyor.
Ayrıca burdan indirebilirsiniz.
Alın size bir güzel kod:) Benim hoşuma gitti eminim sizin hoşunuzada gidecek.
(define (goster str)
(let loop ((str str))
(if (equal? str "")
(begin
(sleep 0)
(display ""))
(begin
(sleep 1/2)
(display (string-ref str 0))
(loop (substring str 1))))))
(define (kare x y)
(do ((i 0 (+ i 1))) ((= i x))
(newline)
(do ((j 0 (+ j 1))) ((= j y))
(if (or (= i 0) (= i (- x 1)))
(display "*")
(if (or (= j 0) (= j (- y 1)))
(display "*")
(display " "))))))
bu kod aşağıdaki gibi bir şekil oluşruracak
**********
* *
* *
* *
* *
* *
* *
* *
* *
**********
Ancak bu şekil pek hoş değil. Eğer display’in içini biraz düzenlersek çok dahahoş şekilerle karşılaşırız.
(define (kare x y)
(do ((i 0 (+ i 1))) ((= i x))
(newline)
(do ((j 0 (+ j 1))) ((= j y))
(if (or (= i 0) (= i (- x 1)))
(display "* ")
(if (or (= j 0) (= j (- y 1)))
(display "* ")
(display " "))))))
Bu kod
* * * * * * * * * *
* *
* *
* *
* *
* *
* *
* *
* *
* * * * * * * * * *
şeklini oluşturacaktır. Tabiki etkileşim penceresinde şekil daha düzgün çıkacaktır.