CSDN问答精选
csdn的问答模块回答了一些问题,有些还是比较有意思的,跳出来供大家阅览参考
留个标记点——2021-12-07 之前的回答
文章目录
- 1、会计用Python写月末一次加权平均法、先进先出法、移动加权平均法代码
- 2、成绩统计和三角形打印
- 3、接口请求,参数从文本提取,该怎么操作,求完整代码
- 4、如何解决pycharm爬取数据存入mysql时总会重复存入?
- 5、输入一个整数,求每位数的乘积
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 requestsdef 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_dicdef 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)# postresponse = 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]))
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!




