csdn的问答模块回答了一些问题,有些还是比较有意思的,跳出来供大家阅览参考
留个标记点——2021-12-07 之前的回答
文章目录
1、会计用Python写月末一次加权平均法、先进先出法、移动加权平均法代码
会计用Python写月末一次加权平均法、先进先出法、移动加权平均法代码
题目描述:
Python写出成本计算的三个方法
求求了各位大佬!
只写出月末一次加权平均法的也可以!
import numpy as np
import pandas as pd
# 生成测试数据
df = pd.DataFrame([pd.date_range("2021-11-01","2021-11-30"),np.random.randint(30,50,size=30),np.random.randint(20,40,size=30),np.random.randint(10,20,size=30)]).T
df.columns = ["入库日期","采购数量","销售数量","采购价格"]
df.head()
# 月末一次加权平均法
# 假设月初存货成本和数量
cost0 = 450
num0 = 50
# 存货单位成本=[月初库存货的实际成本+∑(当月各批进货的实际单位成本×当月各批进货的数量)]/(月初库存存货数量+当月各批进货数量之和)
cost_ = (cost0+sum(df["采购数量"]*df["采购价格"]))/(num0+df["采购数量"].sum())
#当月月末库存存货成本=月末库存存货的数量×存货单位成本
cost_end = (num0+df["采购数量"].sum()-df["销售数量"].sum())*cost_
print(cost_end)
# 先进先出法
import queue
#生成先进先出队列,按数量把价格传进去,构造实际价格序列
Q=queue.PriorityQueue()
for i in df.values:
num_c,price = i[1],i[3]
for j in range(num_c):
Q.put(price)
real_price_list = []
all_sale_num = df["销售数量"].sum()
# 按销售依次取出
for k in range(all_sale_num):
real_price = Q.get()
real_price_list.append(real_price)
# 汇总求和
real_cost = sum(real_price_list)
print(f"实际销售成本:{real_cost}")
2、成绩统计和三角形打印
题目描述:
第二题和第四题看一下吧
# 第二题
scores = input('请输入若干学生成绩,以","分隔:')
real_score_list = [i for i in scores.split(",") if (int(i)>=0)&(int(i)<=100)]
print(f"有效成绩个数:{len(real_score_list)}")
print(f"最高分:{max(real_score_list)}")
print(f"最低分:{min(real_score_list)}")
# 第四题
for i in range(1,8,2):
for j in range(0, int((7 - i)/2)):
print(end=" ")
for k in range(i):
print("*", end=" ")
print("")
3、接口请求,参数从文本提取,该怎么操作,求完整代码
题目描述:
请分别举例下post跟get该如何操作
url跟请求参数,读取txt,txt名称为3.txt
两段内容间有两次/n
txt内容为
api.sssbrowser.com:443/v1/sec/policy
[('device', '1'), ('vpn_user', '0'), ('sign', '1a309eb59366b4c1d50620e393f8e585031de595340c04415333314bb2eb1859'), ('mid', 'c28e53d37b50f100ffd14b0519b74a2b'), ('timestamp', '2021-10-28T10:21:37+08:00'), ('app_name', 'free.speedvpn.video.download'), ('timezone', 'Asia/Shanghai'), ('format', 'JSON'), ('campaign', 'default'), ('sign_version', '2.0.0'), ('sign_method', 'SHA256'), ('appver', '2.0.3.1020'), ('lang', 'zh-hans'), ('version', '20201105'), ('signnonce', '16353876973872634482'), ('channel', '0011'), ('imsi', ''), ('netop', ''), ('lang_region', 'zh-CN'), ('region', 'CN')]
api.sssbrowser.com:443/video/videos/discover
[('device', '1'), ('vpn_user', '0'), ('sign', '4c9619f3349b6663c9f818bd77210339448253eaf88024e15a2dd0d7da444ba2'), ('mid', 'c28e53d37b50f100ffd14b0519b74a2b'), ('timestamp', '2021-10-28T10:21:37+08:00'), ('app_name', 'free.speedvpn.video.download'), ('timezone', 'Asia/Shanghai'), ('format', 'JSON'), ('campaign', 'default'), ('sign_version', '2.0.0'), ('sign_method', 'SHA256'), ('appver', '2.0.3.1020'), ('lang', 'zh-hans'), ('version', '20201105'), ('signnonce', '16353876974719319961'), ('channel', '0011'), ('imsi', '')]
import json
import requests
def handle_txt(txt_path):
f = open(txt_path)
parm = f.readlines()
parm.remove("\n")
f.close()
parm_dic = (dict(zip(parm[::2], parm[1::2])))
return parm_dic
def post_get_url(base_url):
for p in parm_dic:
url = base_url + p.split(":")[1][:-1]
parm_data = json.loads(
parm_dic[p].replace("[", "{").replace("]", "}").replace("(", "").replace(",", ":").replace("):",
",").replace(
")", "").replace("'", '"'))
# # get
# response = requests.get(url, params=parm_data)
# post
response = requests.post(url, params=parm_data)
print(response.text)
parm_dic = handle_txt("3.txt")
base_url = "xxxxxx"
post_get_url(base_url)
4、如何解决pycharm爬取数据存入mysql时总会重复存入?
如何解决pycharm爬取数据存入mysql时总会重复存入?
题目描述:
pycharm如何在写代码时就避免多次打印以及多次存入mysql
下面就是重复的,
如何在还没存入时就写代码只爬一次
我代码和别人一样为什么也是存入重复?难道他们有这个问题没发现吗?
都是print怎么打印了3次?
回答:
1、mysql设置主键,
2、入库前先去重
1比较好点儿,如果是两份文件有重复的用2没法避免
5、输入一个整数,求每位数的乘积
题目描述
输入一个整数,求每位数的乘积
例如:
输入 123,输出6
输入 319,输出27
输入 110,输出0
# for 循环提取出来每个数字,注意int转换下格式,numpy 求积函数prod
import numpy as np
a = input()
print(np.prod( [int(i) for i in a]))