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()                   #画布窗口保持
原文地址:https://www.cnblogs.com/ludingchao/p/11734178.html