python 选课系统(面向对象)

项目需求: 利用规范化目录结构完成一个学生选课系统。 **角色:**学生、管理员。 功能分析: 用户登录之后就可以直接判断用户身份,是学生还是管理员。 学生登录之后有以下几个功能: 查看所有课程。 选择课程。 查看所选课程。 退出程序。 管理员登录之后有以下几个功能: 创建课程(需要记录日志)。 创建学生账号(需要记录日志)。 查看所有课程。 查看所有学生。 查看所有学生的选课情况。 退出程序。 课程属性:课程名,价格,周期,老师。 学生属性:姓名,所选课程。 管理员属性:姓名。 流程图: h
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

8.7(字符编码,python2和3字符编码的区别,文件的三种打开方式,with管理文件上下操作)

复习 数据分类 可变不可变 可变:列表,字典,集合 不可变:整型,浮点型,字符串,元组 有序无序 有序:字符串,列表,元组 无序:字典,集合 一个值多个值 一个值:整型,浮点型,字符串 多个值:列表,元组,字典,集合 深浅拷贝 只针对可变数据类型 拷贝:被拷贝对象变化,拷贝对象也变化 lt = [1,2,3,[4,5,6]] lt2 = lt # 当lt2为lt的拷贝对象时,lt内部任意数据类型的对象变化,lt2都变化 浅拷贝:拷贝对象随被拷贝对象的可变数据类型变化而变化 lt = [1,2
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

Nginx&Keepalived

1.下载依赖库 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 2.使用configure脚本自动生成Makefile文件 --prefix 指定安装目录 ./configure --prefix=/usr/local/software/nginx 3.编译安装 make && make install 4.命令 4.1 sbin/nginx 启动nginx 4.2 sbi
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

生产者消费者模型中的一点小问题

考虑以下这种情形: 目前有若干个消费者,一个生产者,现在流水线队列中已满,生产者在: MutexLockGuard lock(m_mutex); while(isFull()) notFull.wait(); 生产者在notFull.wait()中陷入阻塞。 此时某个消费者拿走了一个产品,并通过notFull.notify()通知生产者队列未满,可以生产。 生产者从wait中醒来,再次竞争锁。 但很不幸,这个锁再次被另外一个消费者获得。 一直持续这样的流程,生产者点太背,一直未
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

MessagePack Java 0.6.X 动态类型

我们知道 Java 是一个静态类型的语言。通过输入 Value MessagePack能够实现动态的特性。 Value 有方法来检查自己的类型(isIntegerType(), isArrayType(), 等...),同时也转换为自己的类型 (asStringValue(), convert(Template))。 本代码可以在 https://github.com/cwiki-us-demo/messagepack-6-demo-java/blob/master/src/test/java
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

TestNG参数化

TestNG支持参数化测试,一种是通过xml文件进行参数化,第二种就是DataProvider参数化 1️⃣通过xml文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="parmsuitename"> <test name="parm"> <!--参数--> <para
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

python面向对象(3) _三大特性

对象的继承 官方的说法: 如果一个类别A“继承自”另一个类别B,就把这个A称为“B的子类别”,而把B称为“A的父类别”也可以称“B是A的超类”。继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。另外,为子类别追加新的属性和方法也是常见的做法。 一般静态的面向对象编程语言,继承属于静态的,意即在子类别的行为在编译期就已经决定,无法在执行期扩充。 俗语
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

函数之参数类型

绝大多数函数接收一定数量的参数,然后根据实际调用时提供的参数的值的不同,输出不同的结果。前面我们说过,将函数内部的参数名字,定义得和外部变量的名字一样是一种不好的习惯,它容易混淆思维,甚至发生错误。通常我们定义和给函数传递参数是这样的: x, y, z = 1, 2, 3 def add(a, b, c): return a+b+c add(x, y, x) # 使用变量,传递参数 add(4, 5, 6) # 直接传递值也是可以的。 在
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

文件重名问题

文件重名问题 在文件上传时,多个用户上传相同文件名的文件时,会将文件进行覆盖。解决该问题可以创建一个Java类自定义一个方法,先获取同名文件的后缀名,将文件名替换成随机生成的一段字符串。 代码实现: import java.util.UUID; public class UploadUtils { public static String getUuidFileName(String fileName){ //先获取同名文件的后缀名,再将其文件名替换成随机字
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

leetcode 238. 除自身以外数组的乘积 (python)

给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 示例: 输入: [1,2,3,4] 输出: [24,12,8,6] 说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。 class Solution: def productExceptSelf(self, nums: List[int]) -> List[int]: ln =len
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

bfs(火星撞地球)

Meteor Shower 链接:https://ac.nowcoder.com/acm/contest/997/I 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 Bessie hears that an extraordinary meteor shower is coming; reports say that these meteors will crash into
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

Python学习之路——字典

Python学习之路——字典 一、什么是字典 在了解什么是字典之前我们先来看一个东西,假如现在有这样两个列表,一个列表是学生的姓名,另一个列表是学生的成绩,现在需要你去把学生的成绩和姓名匹配起来,该怎么做? l1 = ["小张","小李","小王"] l2 = ["60分","80分","70分"] #首先我们需要按照角标把学生的姓名拿到 l1[0],l1[1],l1[2] #然后我们需要根据角标拿到学生的成绩 l2[0],l2[1],l2[2] #最后将他们一一匹配 或者还存
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

mvc @Html控件

https://www.cnblogs.com/wangcq/p/3624738.html
分类: 其他 发布时间: 08-07 21:31 阅读次数: 0

20道BAT面试官最喜欢问的JVM+MySQL面试题(含答案解析)

20道BAT面试官最喜欢问的JVM+MySQL面试题(含答案解析)
分类: 编程语言 发布时间: 08-07 21:20 阅读次数: 0

2019 Multi-University Training Contest 6 Nonsense Time (纯暴力)

题意:给你一个n的排列,起初这些数都不能用, 然后还有一个数组 第 i 个数表示下标为 i 的数能够使用。 问每一个 i 对应的最长上升子序列。 题解: 可以通过倒推,从后往前考虑转化一下 ,然后就是删除一个数,两个数到n个数的最长上升子序列。 比赛的时候不会算复杂度算出来的是n^2log(n) ,完全不敢写,一直在想办法优化 赛后题解就是这个做法,但是题解说 因为数据随机,因此 LIS 的期望长度是 O( √ n), 删除的 x 位于 LIS 中的概率是 √ 1 n,也就 是说期望删除 O(
分类: 其他 发布时间: 08-07 21:14 阅读次数: 0

UVA11419 SAM I AM 二分图最小点覆盖

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2414 Solution 看到求最小大炮轰的次数我们很容易想到二分图的最小点覆盖,就是求最少哪些行或者列开出炮弹可以使得全部怪物被打死掉,那么我们行列建图,求一个最大匹配就行了 数据范围匈牙利即可,跑完一个最大匹配后,得到了数字答案,那么问题来了,如何得到在哪些行或者列打出炮弹呢。 我们结合图
分类: 其他 发布时间: 08-07 21:14 阅读次数: 0

web引入

web的应用本质 socket网络编程 架构:c/s架构 协议:TCP/udp协议 传输层 web应用: 架构:B/S架构 协议:HTTP协议 应用层 字节转字符串 str(res,encoding="utf-8") 字符串转自截 bytes(data,encoding='utf-8') web框架总结 a.自己写socket服务端 b.路由系统: 将客户端请求的url映射到相对应的函数, 最后执行函数即可 c.模版渲染: a自己自定义的规则。b使用第三方
分类: 其他 发布时间: 08-07 21:14 阅读次数: 0

线程同步 -事件Event、临界区对象CriticalSection

事件Event: 基本函数: 全局对象:HANDLE g_hEvent 创建事件对象:g_hEvent=CreateEvent(NULL,FALSE,FALSE,NULL) 重置状态为无信号:ResetEvent(g_hEvent) 设置状态为有信号:SetEvent(g_hEvent) 说明: 有信号转为无信号状态人为重置不可以控,最好设为自动完成,可以避免多个线程请求到对象; 只有一个实例运行:可以通过创建命名的事件对象,通过ERROR_ALREADY_EXISTS==GetLastErr
分类: 其他 发布时间: 08-07 21:14 阅读次数: 0

shell基础第一天

linux下脚本开(shell、python、perl) 1.bash的基本特性:     ctrl+l     上键     history 2.IO重定向与管道符 3.编程基础:     编程原理     程序:执行某个功能的一段代码     程序必须包含:指令、数据、(逻辑关系)             命令、变量             #!/usr/bin/python3(python的指定)             #!/bin/bash 4.grep 和 正则表达式!!!!   
分类: 其他 发布时间: 08-07 21:14 阅读次数: 0

8月7日总结

START NO.1 sub 得分(90/100) 简单的高精度减法,但是没有注意a==b的情况 NO.2 dinner 得分(10/100) 我。竟然把a和b写反了啊啊啊啊啊啊啊啊 这么简单的都不算动规的动规我竟然写错了!!! NO.3 lego 得分(20/100) 果然好久没有写深搜了。。。 每次都写出小问题哭唧唧 NO.4 stick 得分(100/100) NO.5 select 得分(0/100) 我。根本就没看懂题。。。 最后虽然也还是没有改对xixixi NO.6 number
分类: 其他 发布时间: 08-07 21:14 阅读次数: 0