步骤
原创...大约 4 分钟
你好,我是悦创。
我觉得,上图比较直接:
提示
工具人上线......
你好,我是悦创。
在之前的内容中,我们分享了办公自动化的 Excel 写入。
那现在这个部分呢,就是为了给你更好的练习,我来带你实现:自动生成电话号码并使用 api 验证电话号码有效性。
# -*- coding: utf-8 -*-
# @Time : 2022/10/13 19:27
# @Author : AI悦创
# @FileName: hw01.py
# @Software: PyCharm
# @Blog :https://bornforthis.cn/
import requests
import random, xlwt
# SET_PHONE = set()
def parse_loop(value):
template = "{haoduan}{weihao}"
# weihao = random.randrange(10000000, 99999999)
weihao = random.randint(11111111, 99999999)
# print(weihao)
# global phone_number
phone_number = template.format(haoduan=value, weihao=weihao)
# print(key, phone_number)
return phone_number
def generate_phone():
phone_dict = {
"中国联通": ['130', '131', '132', '145', '155', '156', '166', '175', '176', '185', '186', '196'],
"中国电信": ['133', '149', '153', '180', '181', '189', '173', '177', '190', '191', '193', '199'],
"中国移动": ['134', '135', '136', '137', '138', '139', '147', '150', '151', '152', '157', '158', '159', '172',
'178', '182', '183', '184', '187', '188', '195', '197', '198'],
}
key = random.choice(list(phone_dict.keys()))
value = random.choice(phone_dict[key])
phone_number = parse_loop(value)
# return key, phone_number
return phone_number
# 手机号码归属地查询 Python示例代码
def jude_phone(phone_number: str):
url = 'https://hcapi02.api.bdymkt.com/mobile'
params = {}
params['mobile'] = phone_number
headers = {
'Content-Type': 'application/json;charset=UTF-8',
'X-Bce-Signature': 'AppCode/38c548d4357c487185d818ed4da79a1a'
}
r = requests.request("GET", url, params=params, headers=headers)
# print(r.json())
return r.json()
def phone_number_exists(json):
if json["code"] == 200:
key = json["data"]["types"]
city = json["data"]["city"]
city_code = json["data"]["city_code"]
prov = json["data"]["prov"]
return [key, city, city_code, prov]
elif json["code"] == 400:
return False
def write_excel(content):
wb = xlwt.Workbook()
sheet = wb.add_sheet("sheet")
head_data = ["手机号", "类型", "城市", "城市代号", "省份"]
for index, head in enumerate(head_data):
sheet.write(0, index, head)
for row, detail_list in enumerate(content):
sheet.write(row+1, 0, detail_list[0])
sheet.write(row+1, 1, detail_list[1])
sheet.write(row+1, 2, detail_list[2])
sheet.write(row+1, 3, detail_list[3])
sheet.write(row+1, 4, detail_list[4])
wb.save("phone.xls")
def main():
r = []
for _ in range(1000):
result_lst = []
phone_number = generate_phone()
r_json = jude_phone(phone_number)
result_exists = phone_number_exists(r_json)
if result_exists:
result_lst.append(phone_number)
result_lst.extend(result_exists)
r.append(result_lst)
print("result_lst:>>>", result_lst)
else:
print("continue...")
continue
write_excel(r)
if __name__ == '__main__':
main()
# print(generate_phone())
你好,我是悦创。
def fun1():
for i, j in enumerate(re_menu, start=1):
print('{}、{}\t{}'.format(i, j[0], j[1]))
def fun2():
while True:
sel = int(input('请输入选择的电影:'))
if 1<=sel<=4:
selected.append(re_menu[sel - 1])
number = int(input('请问定几张:'))
count.append(number)
ctn = int(input('是否继续购票?(0结束,其他数字继续):'))
if ctn == 0:
break
else:
print('输入错误!')
def fun3():
print('序号 电影名 票价 张数')
for i,j in enumerate(selected,start=1):
print('{} {} {} {}'.format(i,j[0],j[1],count[i-1]))
def fun4():
while True:
print('删除前')
print('序号 电影名 票价 张数')
for i, j in enumerate(selected, start=1):
print('{} {} {} {}'.format(i, j[0], j[1], count[i - 1]))
dlt = int(input('请输入要删除的订单序号:'))
del selected[dlt - 1]
del count[dlt - 1]
print('删除后')
print('序号 电影名 票价 张数')
for i, j in enumerate(selected, start=1):
print('{} {} {} {}'.format(i, j[0], j[1], count[i - 1]))
re_ctn=int(input('是否继续删除?(0退出/其他数字继续删除):'))
if re_ctn==0:
break
def fun5():
tatle_money=0
for i,j in enumerate(selected):
tatle_money+= j[1]*count[i]
print(tatle_money)
print('您一共花费:{}元'.format(tatle_money))
def fun6():
ev=input('请输入您的影评:')
evaluate.append(ev)
look=int(input('客官谢谢您的影评!(1查看影评/其他结束)'))
if look==1:
print(evaluate)
else:
print('欢迎下次再来!您慢走!')
menu=['查看热映电影','订票','查看订单','退票','结账','影评']
re_menu=[['智取威虎山',30],['第一滴血',80],['大圣归来',40],['哪吒',50]]
selected=[]
count=[]
evaluate=[]
while True:
for i, j in enumerate(menu, start=1):
print('{}、{}'.format(i, j))
print('===============================')
num = int(input('请输入选择功能的编号:'))
if num == 1:
fun1()
elif num == 2:
fun2()
elif num == 3:
fun3()
elif num == 4:
fun4()
elif num==5:
fun5()
elif num==6:
fun6()
print('===============================')
all_ctn=int(input('是否继续功能选择(0退出)'))
if all_ctn==0:
break
import os
os.startfile("C:\Program Files\internet explorer\iexplore.exe")
你好,我是悦创。
我们常见的方程组有一元一次方程组,比如 x+3=5
这种,很简单很好解。
二元一次方程组,即方程组中有两个未知数,未知数的最高次数为1。
二元二次方程组:方程组中有两个未知数,未知数的最高次数为 2。此类方程组均有公式解法或者成形的解法。
但是面临多元多次方程组,解法错综复杂,是数学家们研究的内容。为了更好的解决此类问题,我们可以用 Python 来实现。
多元多次方程组例如下面这种,三元二次方程组:
你好,我是悦创。
废话少说,直接上代码。
In [1]: s = "aiyuechuang"
In [2]: s.startswith("ai")
Out[2]: True
In [3]: s.startswith("a")
Out[3]: True
In [4]: s.startswith("a000ss")
Out[4]: False
In [5]: s.endswith("hjb")
Out[5]: False
In [6]: s.endswith("g")
Out[6]: True
In [7]: s.endswith("og")
Out[7]: False
In [8]: s.endswith("ng")
Out[8]: True
I use GridSearchCV of scikit-learn to find the best parameters for my XGBClassifier model, I use code like below:
grid_params = {
'n_estimators' : [100, 500, 1000],
'subsample' : [0.01, 0.05]
}
est = xgb.Classifier()
grid_xgb = GridSearchCV(param_grid = grid_params,
estimator = est,
scoring = 'roc_auc',
cv = 4,
verbose = 0)
grid_xgb.fit(X_train, y_train)
print('best estimator:', grid_xgb.best_estimator_)
print('best AUC:', grid_xgb.best_score_)
print('best parameters:', grid_xgb.best_params_)
你好,我是悦创。
接下来来编写 Python 中的进制转换,我们来一一编写。
使用 int()
函数 ,第一个参数是字符串 '0Xff'
,第二个参数是说明,这个字符串是几进制的数。转化的结果是一个十进制数。
In [1]: int("0xf", 16)
Out[1]: 15