python龟兔赛跑编程c语言_书上学不到的Python综合题目实战01之龟兔赛跑

本文介绍了一道Python编程实战题目——模拟龟兔赛跑的故事。通过随机数生成器,模拟两只动物在70格赛道上的比赛过程,详细描述了规则和动物移动的逻辑。当比赛结束时,程序会根据结果打印获胜者。
摘要由CSDN通过智能技术生成

(模拟龟兔赛跑)本练习中要模拟龟兔赛跑的寓言故事。用随机数产生器建立模拟龟兔赛跑的程序。

对手从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。如果两者都没有赢,则再次循环,模拟下一个时钟滴答。

准备运行程序时,让一组拉拉队看比赛,你会发现观众有多么投入。

import time

from random import randint

print('begin')

hPos = 0

tPos = 0

while True:

paodao = '_' * 70

num = randint(1,10)

if 1<=num<=5:

tPos+=3

elif 6<=num<=7:

tPos-=6

else:

tPos+=1

if num<=2:

hPos=hPos

elif 3<=num<=4:

hPos+=9

elif num==5:

hPos-=12

elif 6<=num<=8:

hPos+=1

else:

hPos-=2

if tPos < 0:

tPos = 0

if hPos < 0:

hPos = 0

if tPos > 70 or hPos > 70:

break

if tPos == hPos:

# yao

paodao = paodao[:tPos] + '咬' + paodao[tPos+1:]

else:

paodao = paodao[:tPos] + '龟' + paodao[tPos + 1:]

paodao = paodao[:hPos] + '兔' + paodao[hPos + 1:]

print(paodao)

time.sleep(0.3)

if tPos > 70:

print('龟赢')

else:

print('兔赢')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值