python--03day

1.首先要会写出罗代码,然后看看哪里是重复使用的
2.接下来去将需要重复使用的代码转换成参数,带入到函数中

def funcName([param]):
    执行体
    [return]
from random import randint


def roll_dice(n=2):
    """
    摇色子
    
    :param n: 色子的个数
    :return: n颗色子点数之和
    """
    total = 0
    for _ in range(n):
        total += randint(1, 6)
    return total


def add(a=0, b=0, c=0):
    return a + b + c
#换变量 换成3个骰子
print(roll_dice(3))
#按顺序带入变量
print(add())
print(add(1))
print(add(1, 2))
print(add(1, 2, 3))
print(add(c=50, a=100, b=200))

输入数字排序

x.sort()   或者    sorted(x)   

 

# 在参数名前面的*表示args是一个可变参数
# 即在调用add函数时可以传入0个或多个参数
def add(*args):
    total = 0
    for val in args:
        total += val
    return total

 

 

实例  订货系统

def Check_Goods(g):
    G = ['汽车','火车','飞机']
    if g in G:
        Address()
    else:
        print('该地区无货')

    
def Address():
    name = input('Name:')
    phone= input('phone:')
    addr = input('Addr:')
    Note()

def Note():
    print('马上发货')
    
def Start():
    print('欢迎光临')
    g = input('商品:')
    Check_Goods(g)

print(Start())

 

 

 

实例  注册系统

"""python
users # 要含有数字和字母,且不能有.*&^%$#@!~
password # 必须要6位以上
Phone # 必须要11 位
# 会的同学去调用短信服务平台
# 产生随机数
verify_number
# 验证码的有效期1min

# 验证码无数次发送
# 验证码计时间
# 手机号问题
"""

global_count = 0
def Users():
    users_ = input('Users:>>')
    # Joker123
    Z = 'ZXCVBNMASDFGHJKLQWERTYUIOPzxcvbnmasdfghjklqwertyuiop'
    N = '1234567890'
    T = '.*&^%$#@!~'
    is_Z = False
    is_N = False
    is_T = True
    for i in users_:
        # 字母
        if i in Z:
            is_Z = True
        # 数字
        if i in N:
            is_N = True
        # 特殊字符
        if i in T:
            is_T = False
    
    if is_Z and is_N and is_T:
        Password()
    else:
        print('账号必须含有数字和字母且不能含有(.*&^%$#@!~)')

def Password():
    passwd = input('请输入密码:>>')
    if len(passwd)<6:
        print('密码必须大于6位')
    else:
        Phone()

def Phone():
    import re
    compile = re.compile('str')
    compile.search
    compile.findall
    
    phone = input('请输入电话号码:>>')
    if len(phone) != 11:
        print('亲,电话号码无效')
    else:
        print('验证码已发送')
        Verfily_number()

def Verfily_number():
    import random
    import time
    num = random.randrange(1000,9999)
    global_count += 1
    start_time = time.time()
    print('东方智业文化发展有限公司给予您的验证码是:%d'%num)
    num_ = int(input('请输入验证码:'))
    end_time = time.time()

    sub_time = end_time - start_time
    if sub_time > 10:
        if global_count > 2:
            print('您可能是一个机器人。')
            exit()
        print('验证码超时,即将重发..')
        time.sleep(2)
        Verfily_number()
    else:
        if num == num_:
            print('注册成功')
        else:
            print('验证码错误')
            time.sleep(2)
            Verfily_number()

def Start():
    Users()

Start()

 

实例  倒计时

import time
for seconds in range(10,0,-1):
    time.sleep(1)
    print('\033[31m%d秒之后重新发送\r'%seconds,end="",flush=True)

 

def main():
    # Todo: Add your code here
    pass


if __name__ == '__main__':
    main()

字符串和常用数据结构

    str2 = 'abc123456'
    # 从字符串中取出指定位置的字符(下标运算)
    print(str2[2])  # c
    # 字符串切片(从指定的开始索引到指定的结束索引)
    print(str2[2:5])  # c12
    print(str2[2:])  # c123456
    print(str2[2::2])  # c246
    print(str2[::2])  # ac246
    print(str2[::-1])  # 654321cba
    print(str2[-3:-1])  # 45
    # 检查字符串是否由数字构成
    print(str2.isdigit())  # False
    # 检查字符串是否以字母构成
    print(str2.isalpha())  # False
    # 检查字符串是否以数字和字母构成
    print(str2.isalnum())  # True
    str3 = '  jackfrued@126.com '
    print(str3)
    # 获得字符串修剪左右两侧空格的拷贝
    print(str3.strip())

 

posted @ 2019-08-01 20:58  黯然亦销魂丶  阅读(129)  评论(0编辑  收藏  举报