Racket,Guess the Number

#lang racket
(define guesses-taken 0)
(display "Hello! What is your name?\n")
(define my-name (read-line (current-input-port) 'any))
(define number (random 1 21))
(define guess-int 0)
(printf "Well, ~a, I am thinking of a number between 1 and 20.\n" my-name)
(let loop()
  (display "Take a guess.\n")
  (define guess (read-line (current-input-port) 'any))
  (set! guess-int (string->number guess))
  ;;(printf "hello ~a\n" guess-int)
  (set! guesses-taken (add1 guesses-taken))
  (when (< guess-int number) (printf "Your guess is too low.\n"))
  (when (> guess-int number) (printf "Your guess is too high.\n"))
  (when (and (< guesses-taken 6) (not (= guess-int number)))
    (loop)))
(if (= guess-int number)
    (printf "Good job, ~a! You guessed my number in ~a guesses!" my-name guesses-taken)
    (printf "Nope. The number I was thinking of was ~a\n" number))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值