1.乘法口诀表
for i in range(1,10):
for j in range (1,i + 1):
ji = i * j
print("{}*{}={}".format(i,j,ji),end='\t')
print()
2.11点游戏
'''
11点游戏
大小王用14 15 表示
自动生成牌 J-大王 0.5分 1-10按照牌面值
3个玩家
发牌
'''
import random
wang_list = ['("小王",14)','("大王"),15']
color_list = ["红桃",'黑桃','梅花','方片']
num_list = range(1,14)
poke_list = [(color,num) for color in color_list for num in range(1,14)]
poke_list.extend(wang_list)
result = {}
# #洗牌 打乱list顺序
# random.shuffle(poke_list)
user_list = ['Jack','Jim','Lucy']
for user in user_list:
score = 0
idx = random.randint(0,len(poke_list) - 1)
poker = poke_list.pop(idx)
_,num = poker
if num > 10:
score += 0.5
else:
score += num
while True:
choice = input("if go on ?(y/n):")
choice = choice.upper()
if choice not in {"Y","N"}:
print("input error please try again")
continue
if choice == "N":
result[user] = score
break
else:
idx = random.randint(0, len(poke_list) - 1)
poker = poke_list.pop(idx)
_, num = poker
if num > 10:
score += 0.5
else:
score += num
if score <= 11:
continue
score = 0
result[user] = score
print("爆了")
break
print(result)
"""
根据要求实现资源下载器
1.启动后 让用户选择专区 每个专区用单独的函数实现,提供的专区如下:
下载 花瓣网图片专区
抖音短视频专区
NBA锦集专区
2.在用户选择某个功能后 表示进入某个下载专区 在里面循环提示user 可以下载内容的选项 用户只要选择序号就可以下载指定的资源
3.在某个专区中,如果用户输入 Q/q 表示退出上一级,回到选择区
4.在选择区中输入Q/q 则退出整个程序
每个专区实现下载案例如下:
"""
import requests
def run():
"""启动程序"""
func_dic = {
"1":image,
"2": nba,
"3": video,
}
print("1.图片专区","2.NBA专区","3.短视频专区" )
while True:
choice = input("请选择:")
func = func_dic.get(choice)
print(func)
if not func:
continue
func()
def image():
"""图片专区功能"""
image_dic = {
"1":("image1","https://huaban.com/pins/5042741077"),
"2":("image2","https://huaban.com/pins/5077852312")
}
for k,v in image_dic.items():
msg = "{}.{}".format(k,v[0])
print(msg)
choice = input("please choice:")
title, url = image_dic[choice]
file_name = "{}.jpg".format(title)
_download(file_name,url)
def nba():
"""NBA function"""
nba_dic = {
"1":{"title":"闪电新闻推出解码“中国式现代化”系列短视频","url":"https://haokan.baidu.com/v?pd=wisenatural&vid=6566621781949319567"},
"2":{"title":"钟表、花瓶 3D打印实现废物利用", "url": "https://haokan.baidu.com/v?vid=3071146304186853769&&"
}
}
_video_nba(nba_dic)
# for v, k in nba_dic.items():
# msg = "{}.{}".format(v,k['title'])
# print(msg)
#
# choice = input("please choice:")
# info_dic = nba_dic[choice]
# name = info_dic['title']
# url = info_dic['url']
# filename = "{}.mp4".format(name)
# _download(filename, url)
def video():
"""Video function"""
video_dic = {
"1":{"title":"阿龙过来给尔普修水池,真诚朴实善良,邀请我到她家过年还相亲","url":"https://www.douyin.com/video/7164291628558077188"},
"2":{"title":"曾经的我们也被人羡慕", "url": "https://www.douyin.com/video/7164357861185801480"
}
}
_video_nba(video_dic)
# for v, k in video_dic.items():
# msg = "{}.{}".format(v,k['title'])
# print(msg)
#
# choice = input("please choice:")
# info_dic = video_dic[choice]
# name = info_dic['title']
# url = info_dic['url']
# filename = "{}.mp4".format(name)
# _download(filename, url)
def _download(filename,url):
res = requests.get(url=url,headers={
"user-agent":"Mozilla/5.0 (Windows NT 10.0;Win64; x64) AppleWebKit/537.36(KHTML, likeGecko) Chrome/103.0.0.0Safari/537.36" })
print(res)
with open(filename,mode='wb') as f:
f.write(res.content)
def _video_nba(data_dict):
for v, k in data_dict.items():
msg = "{}.{}".format(v, k['title'])
print(msg)
choice = input("please choice:")
info_dic = data_dict[choice]
name = info_dic['title']
url = info_dic['url']
filename = "{}.mp4".format(name)
_download(filename, url)
3.装饰器练习
"""计算一个函数的执行时间"""
import time
def coast(arg):
def inner():
start = time.time()
res = arg()
end = time.time()
print(end - start)
return res
return inner
@coast
def func():
data = 0
for i in range(10000000000):
data += i
return data
func()
"""
在函数执行之前输出一个befroe
实现对原函数的返回值 + 100
"""
def before(arg):
def inner():
print("befroe")
return arg()
return inner
def update_return_value(arg):
def inner():
res = arg()
res = res + 100
return res
return inner
@update_return_value
@before
def f1():
return 123
t = f1()
print(t)
def repeat_func(arg):
def inner():
result = 0
for i in range(5):
res = arg()
result += res
return result
return inner
@repeat_func
def f1():
return 123
t = f1()
print(t)
关于装饰器的参数
def outer(args):
def inner(a1,a2):
return args(a1,a2)
return inner
@outer
def plus(v1,v2):
return v1+v2
res = plus(1,3)
print(res)
def outer(args):
def inner(a1):
return args(a1)
return inner
@outer
def plus(v1):
return v1
res = plus(1)
print(res)
def outer(func):
def inner(*args,**kwargs):
return func(*args,**kwargs)
return inner
@outer
def plus(v1):
return v1
res = plus(1)
print(res)
"""
带参数的装饰器
"""
def tt(count):
def outer(func):
def inner(*args,**kwargs):
r = 0
for i in range(count):
res = func(*args,**kwargs)
r += res
return r
return inner
return outer
@tt(5)
def f(x):
return x
res = f(100)
print(res)
原文地址:http://www.cnblogs.com/W505020235/p/16876663.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性