吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1118|回复: 5
收起左侧

[求助] python初学小白,这样写是不是有问题啊

[复制链接]
月下老人基德 发表于 2020-2-16 01:43
就是画一个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 [2,3,4,5,6,8,9]:
        draw(True)
    else :
        draw(False)
    if dight in [0,1,3,4,5,6,7,8,9]:
        draw(True)
    else :
        draw(False)
    if dight in [0,2,3,5,6,8,9]:
        draw(True)
    else :
        draw(False)
    if dight in [0,2,6,8]:
        draw(True)
    else :
        draw(False)
    turtle.left(90)
    if dight in [0,4,5,6,8,9]:
        draw(True)
    else :
        draw(False)
    if dight in [0,2,3,5,6,7,8,9]:
        draw(True)
    else:
        draw(False)
    if dight in [1,2,3,4,5,7,8,9]:
        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()

7.txt

1.12 KB, 下载次数: 0, 下载积分: 吾爱币 -1 CB

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

人生苦短丶 发表于 2020-2-16 14:44
我估计下面会有人开始嘲讽为什么还要币。。。。
python就是这样  项目初始,不要想优化的事情,只要写出来没有错误,那就完事,优化都是之后的问题
 楼主| 月下老人基德 发表于 2020-2-16 20:56
人生苦短丶 发表于 2020-2-16 14:44
我估计下面会有人开始嘲讽为什么还要币。。。。
python就是这样  项目初始,不要想优化的事情,只要写出来 ...

好的好的,谢谢鼓励,刚刚学有些地方还是有些蒙。附件内容已经打上去了,一开始论坛没弄懂,就忘记删除附件了
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退出?
[Python] 纯文本查看 复制代码
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 [2,3,4,5,6,8,9]:
        draw(True)
    else :
        draw(False)

    if dight in [0,1,3,4,5,6,7,8,9]:
        draw(True)
    else :
        draw(False)
    if dight in [0,2,3,5,6,8,9,-1]:
        draw(True)
    else :
        draw(False)
    if dight in [0,2,6,8]:
        draw(True)
    else :
        draw(False)
    turtle.left(90)
    if dight in [0,4,5,6,8,9]:
        draw(True)
    else :
        draw(False)
    if dight in [0,2,3,5,6,7,8,9]:
        draw(True)
    else:
        draw(False)
    if dight in [1,2,3,4,7,8,9,0]:
        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()



image.png
 楼主| 月下老人基德 发表于 2020-2-17 22:10
哇偶,写的比我好太多了,谢谢大佬指点,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-14 02:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表