#Q1024. 海龟漫步(此题无解)
海龟漫步(此题无解)
当前没有测试数据。
题目描述
制作一个海龟漫步的程序,注意这道题目在OJ中无法进行自动评测,但是后续提供了效果参考和代码参考。
要求
编写一段代码,设定特定的步数(如1000步)或时长(如30秒),让小海龟每0.01秒随机往上、下、左、右某一个方向,随机1-3的粗细,随机挑选(random.choice()
)颜色库中的颜色,移动固定长度的距离(比如20像素)。
效果参考

代码参考
import turtle
import random
import time
pattern = input('请选择特定步数或特定时间(step: 步, time: 时间): ')
while pattern not in ('step', 'time'):
pattern = input('请选择特定步数或特定时间(step: 步, time: 时间): ')
if pattern == 'step':
steps = int(input('请输入步数: '))
for i in range(steps):
# 随机粗细, 颜色, 方向
turtle.pensize(random.randint(1, 3))
hexcolor = '#' + ''.join([random.choice('0123456789abcdef') for _ in range(6)])
turtle.pencolor(hexcolor)
turtle.seth(random.randint(0, 3) *90)
turtle.fd(20)
print(f'第{i}步')
time.sleep(0.01)
turtle.done()
elif pattern == 'time':
times = int(input('请输入时间(单位为秒): '))
init_time = time.time()
while time.time() - init_time <= times:
# 随机粗细, 颜色, 方向
turtle.pensize(random.randint(1, 3))
hexcolor = '#' + ''.join([random.choice('0123456789abcdef') for _ in range(6)])
turtle.pencolor(hexcolor)
turtle.seth(random.randint(0, 3) *90)
turtle.fd(20)
print(f'第{time.time() - init_time:.2f}秒')
time.sleep(0.01)
turtle.done()