Python的十二道编程题,码住战胜一切

2023-11-17

一、计算文件大小

import os
def get_size(path):
    size = 0
    l = [path]
    while l:
        path = l.pop()
        lst = os.listdir(path)
        for name in lst:
            son_path = os.path.join(path,name)
            if os.path.isfile(son_path):
                size += os.path.getsize(son_path)
            else:
                l.append(son_path)
    return size

size = get_size(r'D:\s14\算法')
print(size)

二、三级菜单

l = [menu]
while l:
    for k in l[-1]:
        print(k)
    key = input('>>>')
    if key.upper() == 'B':
        l.pop()
    elif key.upper() == 'Q':
        l.clear()
    elif l[-1].get(key):
        l.append(l[-1][key])

三、文件监听

def func():
    with open('test.txt', 'r+', encoding='utf-8') as f:
        while 1:
            lens = f.readline()
            if lens:
                yield lens
t = func()
for j in t:
    print(j)

四、发红包

import random

def rea_pac(money,num):
    ret = random.sample(range(1,money*100),num-1)
    print(ret)
    ret.sort()
    ret.insert(0,0)
    ret.append(money*100)
    for i in range(len(ret)-1):
        value = ret[i+1] - ret[i]
        yield value/100
g = rea_pac(200,10)
for i in g:
    print(i)

五、递归问路

lis = ['alex','wusir','yuanhao','linhaifeng','henry']

def inner(name):
    if len(name) == 0:
        return '没有找到路'
    res = lis.pop(0)
    if res == 'henry':
        return '%s说:我知道老男孩就在沙河地铁站附近'%res
    print('hi美男%s敢问路在何方'%res)
    print('%s回答道,我也不知道,我帮你问问%s'%(res,lis))
    f = inner(lis)
    return f
print(inner(lis))

找到路后会把结果返回给上一个调用者’linhaifeng’
‘linhaifeng’会把结果返回给上一个调用者’yuanhao’…
最终会把结果返回给最开始的调用者inner

六、人狗大战

import random
import time

定义一个人的类

class Person:
    # 定义人的静态属性
    def __init__(self,name,hp,ad,sex):
        self.name = name
        self.ad = ad
        self.hp = hp
        self.sex = sex
    # 定义人的方法
    def da(self,dog):
        yy = random.randint(1,self.ad)
        dog.hp -= yy
        print('%s使用%s,打了%s,%s掉了%s点血'%(self.name,arms.name,dog.name,dog.name,yy))
        if dog.hp < 50:
            print("{}使用终极必杀技{}".format(dog.name,arms.skill()))

定义一个狗的类

class Dog:
    # 定义狗的静态属性
    def __init__(self,name,hp,ad,kind):
        self.name = name
        self.hp = hp
        self.ad = ad
        self.kind = kind
    # 定义狗的方法
    def yao(self,person):
        uu = random.randint(1,self.ad)
        person.hp -= uu
        print('%s咬了%s,%s掉了%s点血' % (self.name, person.name, person.name,uu))
        if person.hp < 50:
            print("{}使用终极必杀技{}".format(person.name,arms.skill()))

定义一个武器类

class Arms:
    def __init__(self,name,hp,ad):
        self.name = name
        self.hp = hp
        self.ad = ad
    # 定义一个武器的技能
    def skill(self):
        li = ['飞龙在天','乾坤大挪移','九阳神功']
        f = random.choice(li)
        return f
arms = Arms('铁锹',3000,2000)
henry = Person('henry',500,30,'男')
dog = Dog('大黄',300,30,'哈士奇')
c = 1
while dog.hp > 0:

    print('第{}回合'.format(c))
    dog.yao(henry)
    henry.da(dog)
    time.sleep(1)
    c +=1

七、计算器

import re
express = '1-2*((60-30+(9-2*5/3+7/3*99/4*2998+10*568/14)*(-40/5))-(-4*3)/(16-3*2))'
express = express.replace(' ','')

计算

def cout(exp):
    if '*' in exp:
        a,b = exp.split('*')
        return str(float(a) * float(b))
    else:
        a, b = exp.split('/')
        return str(float(a) / float(b))

表达式的符号管理把++变成+,–变成-,±变成-,-+变成-

def format_exp(exp):
    exp = exp.replace('++','+')
    exp = exp.replace('+-','-')
    exp = exp.replace('--','+')
    exp = exp.replace('-+','-')
    return exp

计算所有的乘除法

def cal_no(res):
    while True:
        chengshu = re.search('\d+\.?\d*[*/]-?\d+\.?\d*', res)  # (9-2*5/3+7/3*99/4*2998+10*568/14)
        if chengshu:
            ret = chengshu.group()  # 2*5
            resut = cout(ret)  # 得到乘除法的计算结果 10.0
            # 将2*5替换成10.0
            res = res.replace(ret, resut)  # (9-10.0/3+7/3*99/4*2998+10*568/14)
        else:break
    print(res)  # (9-3.3333333333333335+173134.50000000003+405.7142857142857)
    # 表达式的符号管理把++变成+,--变成-,+-变成-,-+变成-
    res1 = format_exp(res) # 将替换后的结果从新赋值给res
    # 将括号内的加减法都匹配出来
    res_lis = re.findall('[-+]?\d+(?:\.\d+)?',res1)
    print(res_lis)  # ['9', '-3.3333333333333335', '+173134.50000000003', '+405.7142857142857']
    sum_n = 0
    for i in res_lis:
        sum_n += float(i)
    return sum_n
def remove_bracket(express):
    while True:

提取表达式最里层的括号

        exp = re.search('\([^()]+\)',express)
        if exp:
            res = exp.group()  # (9-2*5/3+7/3*99/4*2998+10*568/14)
            rep = cal_no(res)  # 173545.88095238098
            print(rep)
            express = express.replace(res,str(rep)) # 因为rep的结果是一个数字
            print(express) # 1-2*((60-30+173545.88095238098*(-40/5))-(-4*3)/(16-3*2))
        else:break
    return express  # 括号内的表达式全部计算完成1-2*-1388338.2476190478
ret = remove_bracket(express)
print(cal_no(re

八、校验文件的一致性

# import os
# import hashlib
# def file_md5(path):
#     filesize = os.path.getsize(path)
#     md5 = hashlib.md5()
#     with open(path,'rb') as f:
#         while filesize >= 4096:
#             content = f.read(4096)
#             md5.update(content)
#             filesize -= 4096
#         else:
#             content = f.read(filesize)
#             if content:
#                 md5.update(content)
#     return md5.hexdigest()
#
# def cmp_file(path1,path2):
#     return file_md5(path1) == file_md5(path2)
# path1 = r'D:\s20\day18\视频\4.面向对象整理.mp4'
# path2 = r'D:\s20\day18\视频\tmp.mp4'
# ret = cmp_file(path1,path2)
# print(ret)

九、打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print("%s*%s=%s"%(i,j,i*j),end=' ')
    print()


for i in range(1,10):
    for j in range(i,10):
        print("%s*%s=%s"%(i,j,i*j),end=' ')
    print()

十、购物车作业

创建一个名为‘购买账单的txt文件

goods = []
money = input('请充值充值金额').strip()
with open('商品信息',encoding='utf-8')as f:
    for i in f:
       xinxi = i.strip().split(' ')
       if xinxi[0] == 'name':
           continue
       else:
           dic = dict([('name',xinxi[0]),('price',xinxi[1])])
           goods.append(dic)
print(goods)
"""
页面显示 序号 + 商品名称 + 商品价格
"""
a = 1
for v in goods:
    print(a,v['name'],v['price'])
    a += 1
print('n 购物车结算')
print('q 或 Q 退出')
shop_dic = {}
sum = 0
a = 1
dic = {}
balance = 0
while 1:
    shuru = input('请输入序号').strip()
    if shuru.isdigit() and (0 < int(shuru) <= len(goods)):
        print(goods[int(shuru)-1]['name'],goods[int(shuru)-1]['price'])

购物车添加商品名称和价格和数量

        shop_dic.setdefault(goods[int(shuru)-1]['name'],{'price':goods[int(shuru)-1]['price'],'amount':0})

增加商品数量

        shop_dic[goods[int(shuru)-1]['name']]['amount'] += 1
    elif shuru == 'n':
        for k,j in shop_dic.items():
            # python学习交流群:309488165
            # 展示购物车商品名称价格数量
            print(a,k,j['price'],j['amount'])

带序号和商品名称的字典

            dic[a] = k
            a += 1
            sum += int(j['price'])*int(j['amount'])
        if int(money) >= sum:
            print('结算成功')
            balance = int(money)-sum
            for s, b in shop_dic.items():
                print(s, b['price'], b['amount'])
            print('共计消费{}元,剩余金额{}元'.format(sum, balance))
            break
        while int(money) < sum:
            print('余额不足')
            shanchu = input('请输入要删除的商品序号')

用户选择删除购物车里的商品则在购物车里将数量减一

            shop_dic[dic[int(shanchu)]]['amount'] -= 1
            sum = sum - int(shop_dic[dic[int(shanchu)]]['price'])
        else:
            print('结算成功')
            balance = int(money) - sum
            for s, b in shop_dic.items():
                print(s, b['price'], b['amount'])
            print('共计消费{}元,剩余金额{}元'.format(sum, balance))
            break
    elif shuru.upper() == 'Q':
            print('程序退出')
            break
    else:
        print('输入有误请重新输入')
with open('购买账单',encoding='utf-8',mode='w') as f1:
    for s, b in shop_dic.items():
        f1.write('商品名称:{} '.format(s))
        f1.write('单价:{} '.format(b['price']))
        f1.write('数量:{}\n'.format(str(b['amount'])))
    f1.write('共计消费{}元\n'.format(sum))
    f1.write('剩余金额%s元'%(balance))

十一、博客园登录

创建一个log和register文件

import time
dic = {
    1: '请登录',
    2: '请注册',
    3: '文章页面',
    4: '日记页面',
    5: '评论页面',
    6: '收藏页面',
    7: '退出程序',
}
def Home_display():
    """

首页展示

    :return:
    """
    print('欢迎来到博客园首页!!!')
    for i in dic:
        print(i,dic[i])
Home_display()
def ster():
    """

用户注册函数,将用户名,密码写入文件

    :return:
    """
    user_name = input('请填写注册名称').strip()
    pass_word = input('请填写注册密码').strip()
    with open('register','a+',encoding='utf-8') as f1:
        f1.write('{},{}'.format(user_name,pass_word)+'\n')
        print('注册成功,请登录!!!')

def login_system():
    """

登录函数

    :return:
    """
    user_name = []
    time = 3
    with open('register', 'r+', encoding='utf-8') as f:
        for i in f:
            user_name.append(i.strip())
        while time >= 1:
            name = input('请输入用户名')
            wd = input('请输入密码')
            l = name + ',' + wd
            if l in user_name:
                print('登录成功')
                chioce(name)
            else:
                time -= 1
                if time == 0:
                    print('登录次数超出限制,请您注册后登录!')
                    break
                print('用户名或密码错误,剩余{}次机会'.format(time))

def eixt_procedure():
    """

退出程序

    :return:
    """
    print('程序退出,欢迎下次光临')
    exit()

def log(n,func):
    with open('log','a+',encoding='utf-8') as f2:
        current_time = time.strftime("%Y-%m-%d-%X",time.localtime())
        f2.write('{}:{}调用了{}函数'.format(n,current_time,func) + '\n')

def diary(n):
    """

日记页面

    :return:
    """
    print('欢迎{}访问日记页面'.format(n))
    log(n, 'diary')
def comment(n):
    """

评论页面

    :return:
    """
    print('欢迎{}访问评论页面'.format(n))
    log(n, 'comment')
def Collection(n):
    """

收藏页面

    :return:
    """
    print('欢迎{}访问收藏页面'.format(n))
    log(n, 'Collection')
def Article(n):
    """

文章页面

    :return:
    """
    print('欢迎{}访问文章页面'.format(n))
    log(n, 'Article')
lis = [login_system,ster,Article,diary,comment,Collection,eixt_procedure,log]
def chioce(a):
    """

用户选择函数

    :return:
    """
    while 1:
        number = input('请选择页面:').strip()
        if number.isdigit() and 3 <= int(number) <= 6:
            lis[int(number)-1](a)
        # 不可以输入字母
        elif number.isdigit() and (int(number) ==1 or int(number)==7):
            if int(number)==7:
                eixt_procedure()
            lis[int(number) - 1]()
        else:
            print('请输入正确页面选项:')
def chioce1():
    while 1:
        number = input('请选择登录或注册或退出').strip()
        if number.isdigit() and (1 == int(number) or int(number) == 7 or int(number) == 2) :
            if int(number) == 7:
                eixt_procedure()
            else:
                lis[int(number)-1]()
        else:
            print('输入有误请重新输入')
chioce1()

十二、学生选课系统

创建course_file,test.log,vip_admin 文件

import hashlib
import pickle
import os
import logging

logger = logging.getLogger()

创建一个handler,用于写入日志文件

fh = logging.FileHandler('test.log',encoding='utf-8')

再创建一个handler,用于输出到控制台

# ch = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
# ch.setFormatter(formatter)
logger.addHandler(fh) #logger对象可以添加多个fh和ch对象
# logger.addHandler(ch)
logger.setLevel(logging.DEBUG)

# python学习交流群:309488165
# 密码加密
def md5_user(username,password):
    md5 = hashlib.md5(username.encode('utf-8'))
    md5.update(password.encode('utf-8'))
    return md5.hexdigest()

读取文件

def read_file_name(file_name):
    with open(file_name,'rb') as f:
        while True:
            try:
                res = pickle.load(f)
                if res:
                    yield res
            except EOFError:
                break

写文件

def add_file(file_name,content):
    with open(file_name,'ab') as f:
        pickle.dump(content,f)

创建课程类

class Course:
    def __init__(self,name,price,period,teacher):
        self.name = name
        self.price = price
        self.period = period
        self.teacher = teacher

    def __str__(self):
        return format('\t课程:' + self.name,'<13') + format('价钱:' + self.price,'<13') + format('周期:' + self.period,'<13') + format('老师:' + self.teacher,'<13')
class Admin:
    msg = [('创建课程', 'course'),
            ('创建学生和学生账号', 'account_num'),
            ('查看所有课程', 'view_courses'),
            ('查看所有学生', 'look_all_student'),
            ('查看所有学生的选课情况', 'look_all_courses'),
            ('退出程序', 'quit')]

实例化出一个管理员

    def __init__(self,username,password,identify='Admin'):
        self.username = username
        self.password = password
        self.identify = identify

创建课程

    def course(self):
        student_name = input('请输入课程名称')
        student_pricce = input('请输入课程价钱')
        student_period = input('请输入课程周期')
        student_teacher = input('请输入授课老师')
        Course1 = Course(student_name,student_pricce,student_period,student_teacher)
        add_file('course_file', Course1)
        return True

创建学生和学生账号

    def account_num(self):
        username = input('请输入要创建的姓名')
        password = input('请输入要创建的密码')
        student1 = Student(username,md5_user(username,password))
        add_file('vip_admin', student1)
        return True

查看所有课程

    def view_courses(self):
        ret = read_file_name('course_file')
        for index,i in enumerate(ret,1):
            print(index,i)   # 因为用__str__所以直接打印对象名直接可以打印他的returnreturn True

查看所有学生

    def look_all_student(self):
        ret = read_file_name('vip_admin')
        for i in ret:
            if i.identify == 'Student':
                print(i.username,i.password)
        return True

查看所有学生的选课情况

    def look_all_courses(self):
        ret = read_file_name('vip_admin')
        for i in ret:
            if i.identify == 'Student':
                print(i.username)
                for j in i.course:
                    print(j)
        return True

退出程序

    def quit(self):
        print('程序退出')
        logger.info(self.username + '——' + self.msg[-1][0])
        exit()

实例化一个alex密码123的管理员

# alex = Admin('alex',md5_user('alex','123'))
# def write_file_name():
#     with open('vip_admin','wb') as f:
#         pickle.dump(alex,f)
# write_file_name()
class Student:
    msg = [('查看所有课程', 'look_all_course'),
            ('选择课程', 'choice_course'),
            ('查看所选课程', 'look_choice_course'),
            ('退出程序', 'quit')]
    def __init__(self,username,password,identify = 'Student'):
        self.username = username
        self.password = password
        self.identify = identify
        self.course = []

    def look_all_course(self):
        ret = read_file_name('course_file')
        for index, i in enumerate(ret, 1):
            print(index, i)
        return True
    def choice_course(self):
        ret = list(read_file_name('course_file'))
        # print(ret)
        for index, i in enumerate(ret, 1):
            print(index, i)
        while True:
            choice = input('请选择课程>>>:').strip()
            if choice.isdigit() and int(choice) in range(1,len(ret) +1 ):
                print(ret[int(choice)-1].name)
                print([i.name for i in self.course])
                if ret[int(choice)-1].name not in [i.name for i in self.course]:
                    self.course.append(ret[int(choice)-1])
                    with open('vip_admin','rb') as f1,open('vip_admin2','wb') as f2:
                        while True:
                            try:
                                res1 = pickle.load(f1)
                                if res1.username == self.username:
                                    res1.course.append(ret[int(choice)-1])
                                    pickle.dump(res1,f2)
                                else:
                                    pickle.dump(res1, f2)
                            except EOFError:break
                    os.remove('vip_admin')
                    os.rename('vip_admin2','vip_admin')
                    logger.info(self.username + '——' + self.msg[1][0]+ str(ret[int(choice)-1])) # ?????
                    break
                else:
                    print('该课程您已选择')
                    break
            else:
                print('输入有误重新输入')
    def look_choice_course(self):
        ret = read_file_name('vip_admin')
        for i in ret:
            if i.username == self.username:
                for j in i.course:
                    print(j)
        return True
    def quit(self):
        logger.info(self.username + '——' + self.msg[-1][0])
        exit()

登录验证

def login(username,password):
    ret = read_file_name('vip_admin')
    for i in ret:
        # print(i.username)
        if i.username == username and i.password == md5_user(username,password):
            return i

    else:return False

def auth():
    lis = ['登录','退出']
    while True:
        for index,opt in enumerate(lis,1):
            print(index,opt)
        num = input('请输入你要操作的内容')
        if num.isdigit() and int(num) in range(1,len(lis)+1):
            if num == '1':
                username = input('请输入用户名')
                password = input('请输入密码')
                ret = login(username,password)
                if ret:
                    print('登录成功')
                    logger.info(username + '——' + '登录成功')
                    return ret
                else:
                    print('登录失败')
            elif num == '2':
                exit()
        else:
            print('您输入的序号有误请重新输入')

主函数

def main():
    ret = auth()
    # if hasattr(sys.modules[__name__],ret['identify']):
    #     cls = getattr(sys.modules[__name__],ret['identify']) # ???????
    #     # print(sys.modules[__name__]) # <module '__main__' from 'D:/PycharmProjects/s20/大作业/Thursday/学生选课系统升级版/选课系统升级版.py'>
    #     obj = cls(ret['username'],ret['password'])
    if ret:
        # print(ret)
        obj = ret
        # print(obj)
        while True:
            for index,i in  enumerate(obj.msg,1):
                print(index,i[0])
            choice = input('请选择序号')
            if choice.isdigit() and int(choice) in range(1,len(obj.msg) + 1):
                if hasattr(obj,obj.msg[int(choice) - 1][1]):
                    if callable(getattr(obj,obj.msg[int(choice) - 1][1])):
                        ret = getattr(obj, obj.msg[int(choice) - 1][1])()
                        if ret:
                            logger.info(obj.username+'——'+obj.msg[int(choice) - 1][0])
            else:
                print('您输入的序号有误,请重新输入')
main()

最后

文章提供的十二道编程题,大家都可以自己研究研究,有不理解的地方也是可以点击文章末尾名片 进行交流学习的哦

刚开始学习python的朋友,或者对python感兴趣还没开始学习的宝子,也可以点击名片领取大量的学习资料以及部分案例的源码哦

希望我们可以一起学习,一起进步~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python的十二道编程题,码住战胜一切 的相关文章

  • 查找两个字典的匹配键值对

    检查一个字典的键值对是否也存在于其他字典中的最有效方法是什么 假设我有两个字典dict1 and dict2这两个字典有一些共同的键值对 我想找到这些并打印出来 做到这一点最有效的方法是什么 请建议 一种方法是 d inter dict k
  • 有没有办法在 Altair 箱线图中格式化工具提示值

    是否可以格式化箱线图工具提示中的值 由此织女星文档 https vega github io vega lite docs boxplot html tooltip encoding channels 看起来是这样 但我不太清楚如何使用 A
  • pandas DataFrame:获取上个月缺少交易且无法移位()的值

    有没有办法在不生成虚拟行的情况下实现这一点 这是我的数据源 Group Store Month Revenue Group1 A 201611 10 Group1 A 201612 20 Group1 A 201701 30 Group1
  • 检查时间戳列是否在另一个数据帧的日期范围内

    我有一个数据框 df A 有两列 amin 和 amax 这是一组时间范围 我的目标是查找 df B 中的列是否位于 df A amin 和 amax 列中范围的任何行之间 df A amin amax amin amax 0 2016 0
  • 如何将多项式拟合到带有误差线的数据

    我目前正在使用 numpy polyfit x y deg 将多项式拟合到实验数据 然而 我想拟合一个基于点误差使用加权的多项式 我已经发现scipy curve fit http docs scipy org doc scipy refe
  • 来自 Pandas DataFrame 的用户定义的 Json 格式

    我有一个 pandas dataFrame 打印 pandas DataFrame 后 结果如下所示 country branch no of employee total salary count DOB count email x a
  • skpy 向包含用户提及的组发送消息

    我需要在发送给 Skype 群组的消息中提及特定用户 我可以使用 skpy 轻松发送消息 但不知道如何在消息中提及某人 sk Skype userid paasword SendMsgTo sk chats group id SendMsg
  • 当类的任何属性被修改时,类如何运行某些函数?

    是否有一些通用方法可以让类在以下情况下运行函数 any它的属性被修改了吗 我想知道是否可以运行某些子进程来监视类的更改 但也许有一种方法可以继承class并修改一些on change函数是 Python 类的一部分 有点像默认的 repr
  • 在 Tkinter 中调整另一个小部件内的一个小部件的大小

    我正在开发穆斯堡尔光谱 化学 的模拟软件 但在设计 UI 时 我在使用父窗口小部件调整子窗口小部件的大小时遇到 了问题 当窗口最大化时 父框架会填充额外的空间 但子窗口小部件不会更改其大小 from Tkinter import impor
  • argparse - 禁用相同参数的出现

    我正在尝试使用 argparse 禁用一个命令行中出现相同的参数 python3 argument1 something argument2 argument1 something else 这意味着这应该会引发错误 因为 argument
  • 将函数应用于 3D numpy 数组

    我有一个来自 Image PIL Pillow 对象的 numpy 3D 数组 178 214 235 180 215 236 180 215 235 146 173 194 145 172 193 146 173 194 126 171
  • Keras 中的条件批量归一化

    我正在尝试在 Keras 中实现条件批量标准化 我假设我必须创建一个自定义层 因此 我从正常化 https github com keras team keras blob master keras layers normalization
  • Python 调试器是否会介入生成器?

    我目前正在使用 NetBeans IDE 和 Jython 2 5 1 当逐步调试我的项目时 一旦遇到生成器的迭代 调试器就会直接转到代码末尾 输出工作正常 但是一旦满足第一个生成器就无法进行逐步调试 这是所有 Python IDE 中 P
  • PyGTK TreeView 中的自动换行

    如何在 PyGTK TreeView 中自动换行文本 gtk TreeView 中的文本是使用 gtk CellRendererText 渲染的 文本换行归结为在单元格渲染器上设置正确的属性 为了让文本换行 您需要设置wrap width单
  • Pygame 旋转射击

    我和几个朋友一直在编写一种有趣的新射击机制 为了让它发挥作用 我们需要朝玩家面对的方向射击 Sprite 正在使用 Pygame Transform Rotate 进行旋转 我们怎样才能找到一个角度 然后朝那个方向发射子弹呢 这是我们的精灵
  • 从 Java 调用 Python 代码时出现问题(不使用 jython)

    我发现这是从 java 运行 使用 exec 方法 python 脚本的方法之一 我在 python 文件中有一个简单的打印语句 但是 我的程序在运行时什么也没做 它既不打印Python文件中编写的语句 也不抛出异常 程序什么都不做就终止了
  • 在类方法 Python 中调用多处理

    最初 我有一个类来存储一些处理后的值 并通过其他方法重用这些值 问题是当我尝试将类方法划分为多个进程以加速时 python 生成了进程 但它似乎不起作用 正如我在任务管理器中看到的那样 只有 1 个进程在运行 并且结果从未传递 我做了几次搜
  • 无法从 celery 信号连接到 celery 任务?

    我正在尝试连接task2 from task success signal from celery signals import task success from celery import Celery app Celery app t
  • 连接 Flask Socket.IO Server 和 Flutter

    基本上 我有一个套接字 io 烧瓶代码 import cv2 import numpy as np from flask import Flask render template from flask socketio import Soc
  • python生成器太慢,无法使用它。我为什么要使用它?什么时候?

    最近我收到一个问题 哪一个是最快的 iterator list comprehension iter list comprehension and generator 然后编写简单的代码如下 n 1000000 iter a iter ra

随机推荐

  • 开始前准备

    开始前准备 一 环境预览 二 安装Ubuntu 三 安装arm gcc工具链 四 Ubuntu构建LiteOS所需要的工具链 五 安装STM32CubeMX软件 六 串口调试助手下载 七 ST Link和USB转TTL串口调试工具 一 环境
  • Express_2 Express Generator

    本文为课程笔记 总体来说 express generator可以帮助我们快速搭建一个express环境 首先 要将它安装在全局环境里 npm install express generator g 然后 就可以使用express 项目名 创
  • 数组入门练习:螺旋遍历二维数组

    NC38 螺旋矩阵 给出一个 n n n 行 m m m 列的二维数组 按螺旋的顺序返回矩阵中的所有元素 比如 输入为 1 2 3 4 5 6 7 8 9 输出为 1 2 3 6 9 8 7 4 5 观察上图
  • 关于mmsegmentation的自定义数据集格式的一些坑(2)

    这次又有任务要跑mmseg 我本意是拒绝的 奈何老板喜欢 mm系列的东西 那一套流程 真心玩不转 玩着玩着心就累了 mm系列和detectron差不多 要找其代码流转 都是要先看配置文件 比较麻烦 需要一定的经验 然后前面两篇都写了我是怎么
  • Android SELinux

    Google参考链接 https source android com docs core architecture aidl aidl hals sepolicy A 通信框架SE文件修改 public attributes vendor
  • 【canal系】canal集群异常Could not find first log file name in binary log index file

    这里先说明下这边使用的canal版本号为1 1 5 在描述这个问题之前 首先需要简单对于canal架构有个基本的了解 canal工作原理 canal 模拟 MySQL slave 的交互协议 伪装自己为 MySQL slave 向 MySQ
  • 详解@Override注解

    目录 1 是什么 2 为什么用 3 举例说明 1 示例一 2 示例二 3 示例三 1 是什么 Override注解是伪代码 用于表示被标注的方法是一个重写方法 Override注解 只能用于标记方法 并且它只在编译期生效 不会保留在clas
  • QT中添加Q_OBJECT出现的问题

    Multiple Inheritance Requires QObject to Be First 多重继承QObject一定要放在前面 我在用class My Node public QGraphicsItem public QObjec
  • 产业互联网-构建智能+时代数字生态新图景

    在2019腾讯全球数字生态大会新闻发布会上 腾讯云联合腾讯研究院 共同发布了行业重磅报告 产业互联网 构建智能 时代数字生态新图景 报告首次阐述了产业互联网的战略框架和实践方法论 报告指出 产业互联网的实现 需要跨界共建数字生态共同体 形成
  • linux安装telnet工具下载,Linux下安装telnet的方法

    一 安装telnet 1 检测telnet server的rpm包是否安装 root localhost rpm qa telnet server 若无输入内容 则表示没有安装 出于安全考虑telnet server rpm是默认没有安装的
  • NestedScrolling机制(一)——概述

    http blog csdn net al4fun article details 53888990 如今 NestedScrolling机制 可以称为嵌套滚动或嵌套滑动 在各种app中的应用已经十分广泛了 下图是 饿了么 中的一个例子 当
  • 虹膜识别 Iris_Osiris_v4.1源码,mfc测试用例

    01 资源 win10 vs2015 git opencv3 3 0 cmake 参考虹膜识别文档 开源虹膜识别软件OSIRIS4 1的使用入门 将开源虹膜识别算法OSIRIS4 1移植到Windows opencv3 3 0的配置参考 也
  • Leetcode 202. 快乐数(找规律注意回环)

    快乐数 编写一个算法来判断一个数 n 是不是快乐数 快乐数 定义为 对于一个正整数 每一次将该数替换为它每个位置上的数字的平方和 然后重复这个过程直到这个数变为 1 也可能是 无限循环 但始终变不到 1 如果 可以变为 1 那么这个数就是快
  • 记录几个CentOS安装包(rpm)的下载地址-离线安装必备

    1 http rpmfind net linux RPM index html 2 https centos pkgs org 3 http mirror centos org centos 7 extras x86 64 Packages
  • Java处理SSH

    JSch 登录 密码方式 session setPassword password 公私秘钥方式 jsch addIdentity ssh id rsaxxx SFTP简介 SFTP是Secure File Transfer Protoco
  • 【YOLOv7/YOLOv5系列算法改进NO.49】模型剪枝、蒸馏、压缩

    文章目录 前言 一 解决问题 二 基本原理 三 剪枝操作 四 知识蒸馏操作 前言 作为当前先进的深度学习目标检测算法YOLOv7 已经集合了大量的trick 但是还是有提高和改进的空间 针对具体应用场景下的检测难点 可以不同的改进方法 此后
  • go 设置 GOROOT 和 GOPATH

    点击在我的博客 xuxusheng com 中查看 有更好的排版哦 发表失败全部丢失 写完了又重写一遍 csdn 都没个自动保存功能 强烈吐槽 go 里面有两个非常重要的环境变量 GOROOT 和 GOPATH 其中 GOROOT 是安装
  • linux CPU性能监控(进阶)和杂谈

    线程与进程的区别 进程 是执行一段程序 即一旦程序被载入到内存中准备执行 它就是一个进程 线程 单个进程中执行每一个任务就是一个线程 一个线程只属于一个进程 一个进程里可以有多个线程 上下文切换 在处理器执行期间 运行进程的信息被存储在处理
  • javax.net.ssl.SSLException: Received fatal alert: protocol_version

    最近需要第三方回传数据到自己的地址 发现调不通 如下 1 第三方错误提示 根据提示是请求时所用的tls协议版本与目标地址所能使用的不一致 2 第三方查看代码中所有的tls版本 查看目标地址所能支持的tls版本 nmap script ssl
  • Python的十二道编程题,码住战胜一切

    一 计算文件大小 import os def get size path size 0 l path while l path l pop lst os listdir path for name in lst son path os pa