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())