鱼C论坛

 找回密码
 立即注册
查看: 1426|回复: 8

[已解决]7段数码管bug

[复制链接]
发表于 2020-7-10 17:01:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 xy1770 于 2020-7-10 17:03 编辑

绘制表示日期(20181010)的7段数码管
"""
七段数码管
"""

import turtle
def drawLine(draw):  # 把画线这个事情定义为基本函数,绘制单段数码管
    turtle.pendown() if draw else turtle.penup()  # 如果画(draw)那就让海龟画笔落下。如果不画,就把画笔抬起来。
    turtle.fd(40)  # 前进40像素
    turtle.right(90)  # 转向90度
def drawDigit(digit): # 绘制七段数码管
    drawLine(True): if digit in [2,3,4,5,6,8,9] else drawLine(False) # 如果数字是2,3,4,5,6,8,9则需要绘制这条线(中间的横)
    drawLine(True): if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True): if digit in [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True): if digit in [0,2,6,8] else drawLine(False)
    turtle.left(90)
    drawLine(True): if digit in [0,4,5,6,8,9] else drawLine(False)
    drawLine(True): if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True): if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
    turtle.left(180)
    turtle.penup() # 为绘制后续数字确定位置
    turtle.fd(20) # 为绘制后续数字确定位置
def drawDate(date): # 获得需要输出的数字    
    for i in date:
        drawDigit(eval(i)) # 通过eval()函数将数字变为整数
def main(): # 设定当前画布大小
    turtle.setup(800,350,200,200) # 画笔初始位置
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    drawDate('20181010')
    turtle.hideturtle()
    turtle.done()
main()


报错:
  File "<ipython-input-7-1617ec6cf220>", line 11
    drawLine(True): if digit in [2,3,4,5,6,8,9] else drawLine(False) # 如果数字是2,3,4,5,6,8,9则需要绘制这条线(中间的横)
                     ^
SyntaxError: invalid syntax

慕课截图
IMG_0217.PNG
最佳答案
2020-7-10 17:05:00
"""
七段数码管
"""

import turtle
def drawLine(draw):  # 把画线这个事情定义为基本函数,绘制单段数码管
    turtle.pendown() if draw else turtle.penup()  # 如果画(draw)那就让海龟画笔落下。如果不画,就把画笔抬起来。
    turtle.fd(40)  # 前进40像素
    turtle.right(90)  # 转向90度
def drawDigit(digit): # 绘制七段数码管
    drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) # 如果数字是2,3,4,5,6,8,9则需要绘制这条线(中间的横)
    drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,6,8] else drawLine(False)
    turtle.left(90)
    drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
    turtle.left(180)
    turtle.penup() # 为绘制后续数字确定位置
    turtle.fd(20) # 为绘制后续数字确定位置
def drawDate(date): # 获得需要输出的数字    
    for i in date:
        drawDigit(eval(i)) # 通过eval()函数将数字变为整数
def main(): # 设定当前画布大小
    turtle.setup(800,350,200,200) # 画笔初始位置
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    drawDate('20181010')
    turtle.hideturtle()
    turtle.done()
main()


我寻思这图片上也没有冒号啊?

满意请选最佳~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-10 17:05:00 | 显示全部楼层    本楼为最佳答案   
"""
七段数码管
"""

import turtle
def drawLine(draw):  # 把画线这个事情定义为基本函数,绘制单段数码管
    turtle.pendown() if draw else turtle.penup()  # 如果画(draw)那就让海龟画笔落下。如果不画,就把画笔抬起来。
    turtle.fd(40)  # 前进40像素
    turtle.right(90)  # 转向90度
def drawDigit(digit): # 绘制七段数码管
    drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) # 如果数字是2,3,4,5,6,8,9则需要绘制这条线(中间的横)
    drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,6,8] else drawLine(False)
    turtle.left(90)
    drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
    turtle.left(180)
    turtle.penup() # 为绘制后续数字确定位置
    turtle.fd(20) # 为绘制后续数字确定位置
def drawDate(date): # 获得需要输出的数字    
    for i in date:
        drawDigit(eval(i)) # 通过eval()函数将数字变为整数
def main(): # 设定当前画布大小
    turtle.setup(800,350,200,200) # 画笔初始位置
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    drawDate('20181010')
    turtle.hideturtle()
    turtle.done()
main()


我寻思这图片上也没有冒号啊?

满意请选最佳~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-10 17:07:53 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-7-10 17:05


我寻思这图片上也没有冒号啊?

满意请选最佳~

我把冒号去掉了~现在不报错了,但是什么都没有运行出来,我用的annaconda
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-10 17:11:56 | 显示全部楼层
xy1770 发表于 2020-7-10 17:07
我把冒号去掉了~现在不报错了,但是什么都没有运行出来,我用的annaconda

那就不用 Annaconda
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-10 17:45:51 | 显示全部楼层

哈哈,好的~
试了下 放pycharm可以用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-10 19:09:04 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-7-10 17:11
那就不用 Annaconda

annaconda 是个啥? anaconda 的 MAX PLUS ++ 版?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-10 19:52:25 | 显示全部楼层
_2_ 发表于 2020-7-10 19:09
annaconda 是个啥? anaconda 的 MAX PLUS ++ 版?

他打的,我不知道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-11 07:13:30 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-7-10 19:52
他打的,我不知道。

懵逼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-11 08:50:50 From FishC Mobile | 显示全部楼层
xy1770 发表于 2020-7-10 17:45
哈哈,好的~
试了下 放pycharm可以用

没事,这些慕课都很坑
还不如小甲鱼的教程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 01:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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