• python奇闻杂技03 三元表达式示例,函数定义示例,七段彩码管绘制示例


    三元表达式

    s = '不下雨'
    
    if s == '下雨':
        print('带伞')
    if s == '不下雨':
        print('不带伞')
    
    #等效与以下语句
    print('带伞' if s == '下雨' else '不带伞')  # 三元表达式

    函数定义

    def login(username,password):       #定义login函数
        """登陆"""
        name=input("请输入您的用户名: ").strip()   #去除输入字符串前后空格
        pwd=input("请输入你的密码: ").strip()
        if name==username and pwd == password:
            print('登陆成功')
        else:
            print('登陆失败')
    username='sean'
    password='123'
    login(username,password)            #使用login函数

    七段彩码管绘制

    import turtle
    import time
    
    t = turtle.Pen()
    t.shape('turtle')
    t.speed(0)              #设定画笔为最快速度
    
    def drawgap():          #定义画笔腾空移动函数
        t.up()
        t.fd(10)
        t.down()
    
    def drawline(flag):     #定义画一条直线,然后向右转函数;flag判断如果数字需要则画线,反之则仅移动
        drawgap()           #调用画笔腾空函数,模拟晶体管显示效果
        if flag:
            t.down()
        else:
            t.up()
        t.fd(40)
        drawgap()
        t.right(90)         #右转90度,准备画下一笔
    
    def drawdigit(num):     #定义画数字的函数,根据每一部分判断是否需要画线进行绘制数字
        t.down()
        drawline(True) if num in [2, 3, 4, 5, 6, 8, 9] else drawline(False)
        drawline(True) if num in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawline(False)
        drawline(True) if num in [0, 2, 3, 5, 6, 8, 9] else drawline(False)
        drawline(True) if num in [0, 2, 6, 8] else drawline(False)
        t.left(90)
        drawline(True) if num in [0, 4, 5, 6, 8, 9] else drawline(False)
        drawline(True) if num in [0, 2, 3, 5, 6, 7, 8, 9] else drawline(False)
        drawline(True) if num in [0, 1, 2, 3, 4, 7, 8, 9] else drawline(False)
        t.up()
        t.left(180)         #移动到下一个数字开始位置
        t.fd(20)
    
    def write_data(data):   #定义写日期函数
        for i in data:
            if i == '/':
                t.write('', font=("Arial", 20, "normal"))  #定义字体,大小,字体类型
                t.pencolor('green')     #改变画笔颜色
            elif i == '-':
                t.write('', font=("Arial", 20, "normal"))
                t.pencolor('blue')      #改变画笔颜色
                t.up()
                t.fd(40)
                t.down()
            elif i == '+':
                t.write('', font=("Arial", 20, "normal"))
            else:
                drawdigit(int(i))       #画处晶体管数字
    
    def write_programmersday():         #定义绘制程序员日快乐函数
        t.goto(-140, 100)
        t.pencolor('black')
        t.write('程序员日快乐!', font=("Arial", 40, "normal"))
    
    def main():                         #定义主函数
        turtle.setup(900, 600)          #设定初始窗口大小
        data = time.strftime('%Y/%m-%d+', time.gmtime())    #格式化时间表示
        t.up()
        t.backward(300)
        t.down()
        t.pencolor('red')
        t.pensize(5)                    #设定画笔粗细
        write_data(data)                #调用写日期函数
        write_programmersday()          #调用绘制程序员日快乐函数
        t.hideturtle()                  #隐藏画笔
    
    main()                              #调用主函数
    turtle.mainloop()                   #画布窗口保持
  • 相关阅读:
    spring cloud图形化dashboard是如何实现指标的收集展示的
    浮躁的我们
    c/c++学习系列之内存对齐
    c/c++学习系列之取整函数,数据宽度与对齐
    c/c++学习系列之memset()函数
    c/c++学习系列之putchar、getchar、puts、gets的运用
    c#学习系列之静态类,静态构造函数,静态成员,静态方法(总之各种静态)
    c#学习系列之字段(静态,常量,只读)
    C#中MessageBox用法大全(附效果图)<转>
    c#学习系列之Application.StartupPath的用法(美女时钟的做法)
  • 原文地址:https://www.cnblogs.com/ludingchao/p/11734178.html
Copyright © 2020-2023  润新知