python怎么运行turtle_如何在执行python turtle命令时将其输出到终端?

请原谅我这样一个笨蛋。我有一个类分配,我需要在执行代码时将代码打印到终端上。这超出了我目前的范围,我找不到一个简单的答案。任何事都会非常感激。再次感谢,再次抱歉。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66from turtle import *

import random

s1=Screen()

s1.colormode(255)

t1=Turtle()

t1.ht()

t1.speed(0)

def jumpto():

x=random.randint(-300,300)

y=random.randint(-300,300)

t1.penup()

t1.goto(x,y)

t1.pendown()

def drawshape():

shape=random.choice(["circle","shape","star"])

if shape=="circle":

t1.begin_fill()

x=random.randint(25,200)

t1.circle(x)

t1.end_fill()

if shape=="shape":

x=random.randint(25,200)

y=random.randint(3,8)

t1.begin_fill()

for n in range (y):

t1.fd(x)

t1.rt(360/y)

t1.end_fill()

if shape=="star":

x=random.randint(25,200)

t1.begin_fill()

for n in range (5):

t1.fd(x)

t1.rt(720/5)

t1.end_fill()

def randomcolor():

r=random.randint(0,255)

g=random.randint(0,255)

b=random.randint(0,255)

t1.color(r,g,b)

r=random.randint(0,255)

g=random.randint(0,255)

b=random.randint(0,255)

t1.fillcolor(r,g,b)

def pensize():

x=random.randint(1,20)

t1.pensize(x)

for n in range (1000):

randomcolor()

pensize()

drawshape()

jumpto()

你的程序是抛出了一个错误,还是做了一些意想不到的事情?

听起来他的程序按预期运行,但他需要额外的功能。尤其是,每个对turtle方法的调用都需要打印到控制台。我不认为有一个简单的方法可以做到这一点,除了用代码中的任何地方的t1.fd(x); print"t1.fd({})".format(x)替换t1.fd(x)的所有实例。

是的,代码运行正常。我只是想知道,在程序调用控制台时,是否有一个简单的命令丢失了,无法将代码输出到控制台。到目前为止,我什么都没看到,似乎我前面还有很多打字。多谢。

您可以在Turtle的所有公共成员函数上附加一个修饰符,如本文所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16import inspect

import types

def decorator(func):

def inner(*args, **kwargs):

print('function: ' + func.__name__)

print('args: ' + repr(args))

print('kwargs: ' + repr(kwargs) + '

')

func(*args, **kwargs)

return inner

for name, fn in inspect.getmembers(Turtle):

if isinstance(fn, types.FunctionType):

if(name[0] != '_'):

setattr(Turtle, name, decorator(fn))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值