月下老人基德 发表于 2020-2-16 01:43

python初学小白,这样写是不是有问题啊

就是画一个8字时钟的语法感觉我写的有问题
import turtle
def draw (a):#判断划线否
    if True:
      turtle.pendown()
    else:
      turtle.penup
    turtle.fd(40)
    turtle.right(90)
def drawdight(dight):#判断数字是否划线
    if dight in :
      draw(True)
    else :
      draw(False)
    if dight in :
      draw(True)
    else :
      draw(False)
    if dight in :
      draw(True)
    else :
      draw(False)
    if dight in :
      draw(True)
    else :
      draw(False)
    turtle.left(90)
    if dight in :
      draw(True)
    else :
      draw(False)
    if dight in :
      draw(True)
    else:
      draw(False)
    if dight in :
      draw(True)
    else :
      draw(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)
def data(a):
    for i in a:
      drawdight(eval(i))
def main():
    turtle.setup(800,800,200,200)
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    data("11110216")
    turtle.hideturtle()
    turtle.done()
main()

人生苦短丶 发表于 2020-2-16 14:44

我估计下面会有人开始嘲讽为什么还要币。。。。
python就是这样项目初始,不要想优化的事情,只要写出来没有错误,那就完事,优化都是之后的问题

月下老人基德 发表于 2020-2-16 20:56

人生苦短丶 发表于 2020-2-16 14:44
我估计下面会有人开始嘲讽为什么还要币。。。。
python就是这样项目初始,不要想优化的事情,只要写出来 ...

好的好的,谢谢鼓励,刚刚学有些地方还是有些蒙。附件内容已经打上去了,一开始论坛没弄懂,就忘记删除附件了{:1_937:}

ymhld 发表于 2020-2-17 17:06


就是画一个8字时钟的语法感觉我写的有问题
import turtle
def draw (a):#判断划线否
    if a:

不是 if true,另外最后一笔,5改为0

ymhld 发表于 2020-2-17 18:03

本帖最后由 ymhld 于 2020-2-17 21:58 编辑

这样是解决了,我的问题也来了,怎么样才能输入q,中断程序呢,在不影响画时钟的同时,按Q退出?
import turtle
import time
import random
def draw (a):#判断划线否
    turtle.pencolor(random.randint(1,255),random.randint(1,255),random.randint(1,255))
    if a:
      turtle.pendown()
    else:
      turtle.penup()
    turtle.forward(40)
    turtle.right(90)

def drawdight(dight):#判断数字是否划线
    try:
      if dight==" ":
            dight =-2
      else:
            dight =int(dight)
    except:
      dight=-1
    if dight in :
      draw(True)
    else :
      draw(False)

    if dight in :
      draw(True)
    else :
      draw(False)
    if dight in :
      draw(True)
    else :
      draw(False)
    if dight in :
      draw(True)
    else :
      draw(False)
    turtle.left(90)
    if dight in :
      draw(True)
    else :
      draw(False)
    if dight in :
      draw(True)
    else:
      draw(False)
    if dight in :
      draw(True)
    else :
      draw(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)
def data(a):
    for i in a:
      drawdight(i)
def main():
    turtle.setup(1200,400,200,200)   #画布大小
    turtle.penup()
    turtle.fd(-400)
    turtle.pensize(10)#画笔宽度
    turtle.speed(23)    #笔速
    turtle.colormode(255)
    while True:
      turtle.pencolor(random.randint(1,255),random.randint(1,255),random.randint(1,255))    #hoice('red', 'green', 'blue'))
      turtle.hideturtle()
      data(time.strftime("%m_%d %H_%M_%S",time.localtime()))
      #data("1234567890")
      
      turtle.clear()
      #turtle.reset()
      turtle.penup()
      turtle.goto(000,0)
      turtle.right(0)
      turtle.fd(-400)
      #turtle.showturtle()
    turtle.done()

main()



月下老人基德 发表于 2020-2-17 22:10

哇偶,写的比我好太多了,谢谢大佬指点,{:1_893:}
页: [1]
查看完整版本: python初学小白,这样写是不是有问题啊