美文网首页
龟兔赛跑

龟兔赛跑

作者: wshsdm | 来源:发表于2019-04-28 19:53 被阅读0次

    '''

    用随机数产生器建立模拟龟兔赛跑的程序。

    对手从70个方格的第1格开始起跑,每格表示跑道上的一个可能位置,终点线在第70格处。

    第一个到达终点的选手奖励一个新鲜萝卜和莴苣。兔子要在山坡上睡一觉,因此可能失去冠军。

    用变量跟踪动物的位置(即位置号1到70)。每个动物从位置1开始,如果动物跌到第1格以外,则移回第1格。

    产生随机整数1≤i≤10),以得到上表中的百分比。对于乌龟,1≤i≤5时快走,6≤i≤7时跌跤,8≤i≤10时慢走,兔子也用相似的方法。

    起跑时,打印:

    BANG  !!!!!

    AND THEY' RE OFF  !!!!!

    时钟每次滴答一下(即每个重复循环),打印第70格位置的一条线,显示乌龟的位置T和兔子的位置H。

    如果两者占用一格,则乌龟会咬兔子,程序从该位置开始打印 OUCH!!!。除T、H和OUCH!!!以外的其他打印位置都是空的。

    打印每一行之后,测试某个动物是否超过了第70格,如果是,则打印获胜者,停止模拟。

    如果乌龟赢,则打印TORTOISE WINS!!!YAY!!!。如果兔子赢,则打印Hare wins.Yush。

    如果两个动物同时赢,则可以同情弱者,让乌龟赢,或者打印It's a tie。如果两者都没有赢,则再次循环,模拟下一个时钟滴答。

    '''

    from randomimport randint

    import time

    print('BANG  !!!!!\nAND THEY\' RE OFF')

    hPos =0

    tPos =0

    while True:

    paodao ='_' *70

        n = randint(0,10) +1

        if n <=5:

    tPos +=3

        elif 5 < n <=7:

    tPos -=6

        else:

    tPos +=1

        if n <=2:

    hPos = hPos

    elif 3 <= n <=4:

    hPos +=9

        elif n ==5:

    hPos -=12

        elif 6 <= n <=8:

    hPos +=1

        else:

    hPos -=2

        if tPos >=70 or hPos >=70:

    break

        if tPos == hPos:

    paodao = paodao[:tPos] +'OUCH!!!' + paodao[tPos:]

    else:

    paodao = paodao[:tPos] +'TORTOISE' + paodao[tPos:]

    paodao = paodao[:hPos] +'Hare' + paodao[hPos:]

    print(paodao)

    time.sleep(0.5)

    if tPos >70:

    print('TORTOISE WINS!!!YAY!!!')

    else:

    print('Hare wins.Yush')

    相关文章

      网友评论

          本文标题:龟兔赛跑

          本文链接:https://www.haomeiwen.com/subject/fbojnqtx.html