0%

点击阅读前文前, 首页能看到的文章的简短描述

阅读全文 »

不管你所在的组织是一种什么样的体制,你都要保证找到一个自己的师傅,有一个令人信任和尊敬的指路人,会有助于你穿越自己的企业丛林。

阅读全文 »

概述:

Post not found: Proxy
  1. 麦肯锡方法-time: 2018-04-30
  2. 人性的弱点-time:2018.04.30
  3. 假如给我三天光明-time:2018-04-30
  4. 永不止步-time:2018-04-30

名言区:


  • 最基本的,往往是最重要的。

  • 非淡泊无以明志,非宁静无以致远。

  • 我的信念是我的行动,而不是我的语言,精力应该放在解决问题的方案上,而不是被浪费在问题上;应该专心做事,不是一味忧虑。

收集的名言


注意:

以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!

PS:欢迎大家来到我的小站,和我一起记录属于我们自己的大学

毕竟,一个人想要得到真才实学,就必须自己独身一人就必须自己去攀登奇山险峰。既然人生的道路上是没有任何捷径的,我就得走自己的迂回曲折的小路。我滑落过好几次,跌倒,爬不上去,撞着意想不到的障碍就发脾气,接着又制服自己的脾气,然后又向上跋涉。每得到一点进步,便受到了一份鼓舞。我的心越来越热切,奋勇攀登,渐渐看见了更为广阔的世界。每次斗争都是一次胜利,再加一把劲儿,我就能到达璀璨的云端、蓝天的深处——我希望的顶峰。

阅读全文 »

概述:

 1.pygame模块
 2.python基础学习总结

Pygame:

1.初始化界面:

  
# coding=utf-8
'''
1. 显示⼀个背景
'''
import pygame
import time
if __name__ == '__main__':
	screen = pygame.display.set_mode((480,890),0,32)
	bgImageFile = 'fly.png' # 图片所在的位置
	background = pygame.image.load(bgImageFile).convert()
	# 1.显示背景
	# screen.blit(background,(0,0))
	# pygame.display.update()
	# 2.步骤1显示的背景 ⼀闪⽽过
	while True:
		screen.blit(background,(0,0))
		pygame.display.update()
		time.sleep(0.5)

2.检测键盘:

  
#coding=utf-8
'''
2. 检测键盘
'''
import pygame
#导⼊按键的检测
from pygame.locals import *
if __name__ == '__main__':
	screen = pygame.display.set_mode((480,890),0,32)
	bgImageFile = 'fly.png'
	background = pygame.image.load(bgImageFile).convert()
	# 1.显示背景
	# screen.blit(background,(0,0))
	# pygame.display.update()
	# 2.步骤1显示的背景 ⼀闪⽽过
	while True:
		screen.blit(background,(0,0))
		#判断是否是点击了退出按钮
		for event in pygame.event.get():
			# print(event.type)
			if event.type == QUIT:
				print("exit")
				exit()
			elif event.type == KEYDOWN:
				if event.key == K_a or event.key == K_LEFT:
					print('left')
				elif event.key == K_d or event.key == K_RIGHT:
					print('right')
				elif event.key == K_SPACE:
					print('space')

		pygame.display.update()

python学习总结:

python基础知识

近期的学习状态真的是无语!(0_-_0)

虽然自己基本上完成了Python的入门学习,有收获,但是更多的是失望!遗憾还是比较多的。

遗憾列表:

  1.自己没有通过项目加强自己对Python的认知(本打算通过写打飞机游戏对应的加深自己对Python的认知,发现这东西对自己以后的学习基本没啥太大的作用,所以果断弃坑了)

  2.没有完成Python爬虫项目,Python与数据库之间的小关系。

  3.自己并没有刷完《Python从入门到实战》这本书。

对Python,以及自己的更为深刻的认知:

  1.firebase 数据库的使用

  2.数据库的链接,以及数据库链接上的一些工作

  3.不要呆在宿舍,自己对宿舍的抵抗力很低。

  4.剩下的,我打算写在三月份月结里(都4月9号了,还没有开始写3月分的月结,自己真是!!!)

  5.自己的清明假期过得很混,自己真的需要好好改变自己的恶习了!

注意:

以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!

文件操作常见的一些函数说明:

1.os库
2.文件读写操作
3.OS库实战

os库:

  • 导入:import os

  • 常见函数:

    os.getcwd() 获得当前工作目录
    os.listdir(path) 返回指定目录下的所有文件和目录名
    os.remove() 删除一个文件
    os.removedirs(path) 删除多个目录
    os.chdir(path) 更改当前目录到指定目录
    os.mkdir(path) 新建一个目录
    os.rmdir(name) 删除一个目录
    os.rename(src, dst) 更改文件名
    Os.path.isfile() 检验路径是否是一个文件
    Os.path.isdir()
    Os.path.exists() 判断路径是否存在
    Os.path.split() 返回一个路径的目录名和文件名
    os.path.splitext() 分离扩展名
    Os.path.dirname 获得路径名
    Os.path.basename() 获得文件名
    Os.path.getsize() 获得文件大小
    Os.path.join(path, name) 返回绝对路径
    os.walk(path)
    

文件读写:

  • 模板:

    file = open (someFile, "r")
    For line in file:
    #处理一行文件内容
    file.close()
  • fileobj = open(filename, mode):
    • fileobj是open()返回的文件对象
    • filename是该文件的字符串名;
    • mode是指明文件类型和操作的字符串
      • r 只读模式(默认)
      • w 只写模式(不可读,不存在则新创建;存在则重写新内容;)
      • a 追加模式(可读,不存在则新创建;存在则只追加内容;)
      • “+” 表示同时读写某个文件:
      • r+ 可读写文件(可读;可写;可追加)
      • w+ 写读
      • a+ 同a
  • 文件定位:

    • 查找当前所在的位置 :position= f.tell()
      f.read(x) // x 代表读取的字节数
      f.seek(offset,from) // 移动文件指针的位置(控制文件指针)
      offset表示微调,
      from有三个参数 , 0(文件开头)1(当前位置),(2)文件末尾

OS库实战:

  • 实现按文件夹+数字形式命名文件夹下的文件

    """
    python 关于系统文件的一些操作:
    os.getcwd() #显示当前路径
    os.chdir(src) #改变当前路径
    lst=os.listdir(src)#src 表示文件名
    os.rename(oldname,newname) #重命名函数
    """
    #coding=utf-8
    import os
    def Rename():
        while 1 :
            try:
                dir_name=input("please enter the name of the directory that you want to change the name:")
                print(dir_name)
                rename_picture_name(dir_name)
            except:
                break;
    
    def rename_picture_name(dirname): #只限于当前路径下
        cnt =0
        os.chdir(dirname)
        foldername=os.getcwd()
        # print(foldername) # 测试使用
        lst =os.listdir(foldername)
        for name in lst:
            findflag =name.rfind('.')    #找到文件属性后缀
           # print(findflag)   
            if findflag!=-1:
                cnt+=1
                newname=dirname+"__"+str(cnt)+name[findflag:]
               # print(newname)
                os.rename(name,newname)
                print(name)
        os.chdir('../')  #防止下一次路径给错
    
    def main():
        Rename()
    if __name__ == '__main__':
        print("Hello,this program is using to change the name of the picture")
        main()
    

注意:

以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!

java 之arrays

  • 导入模板: import java.util.Arrays;
  • 常用函数:
    • 排序: Arrays.sort(a,start,end );
    • 转化成字符串: Arrays.toString(a);
    • 复制数组: Arrays.copyOfRanges(a,start,end);
    • 二分查找: Arrays.binarySearch(a,x); // 返回索引,即数组下标,找不到时返回-1;

java 之 格式化输出:

  • java 格式化输出浮点类型:
    • 方法一:
      double d1 = 123.635;  
      double d2 = 123.6;   
      System.out.printf("%#.2f %#.2f/n", d1, d2);  // 記住是%f,而不是%lf
    • 方法二:
      double d1 = 123.635;  
      double d2 = 123.6;  
      DecimalFormat df = new DecimalFormat(".00");  
      System.out.println(df.format(d1) + " " + df.format(d2));

java 接受用戶輸入:

  • 导入模板: import java.util.Scanner;
  • 接受用戶輸入:
      Scanner in =new Scanner(System.in);
      in.hasNext(); //判断用户是否有下一次的输入
      int x =in.nextInt(); // x接收用户输入的int类型数据
    PS: java 基本数据类型: 真正赋值 ,对象则是引用

java String类 java api

  string  s ;
char[] arr = s.toCharArray();
s.equals(str);// 判断s 与str是否相等,相等返回 true,否则false
s.equalsIgnoreCase(str);// 忽略大小写
s.split(String regex) ; //差分字符
s.replace(str1,str2);//用str2替换s中的str1
s.indexof(str);//返回str在s中第一次出现的位置,没有返回-1
s.substring(int start,int end);// 返回一个s[start,end)的字符串

java 接口的区别:

  • Interface是用来定义类的,I并且是一个极度抽象的类,因为它允许人们通过创建一个能够被向上转型为多种基类的类型,来实现某种类似多种继承变种的特性。
  • Interface接口仅包含方法的声明,而不包含其实现。也就是说,实现接口的每个类都必须为该接口中声明的每个方法提供实现。
    Interface接口方法定义不能包含任何属性(如 public 或 private),但在实现接口的类的定义中,已实现的方法必须标记为 public。
  • 通过 extends 语句可以使用一个接口继承多个接口,通过 implements 语句可以使用一个类继承多个接口。
  • 通俗的讲:interface 只能定义,不能实现,implements可以实现
  • 引自:传送门

java 多级自定义排序: (update: 2018-03-29)

  • 前提说明:

    输入学生姓名,年龄,以及成绩
    以成绩降序,年龄升序的形式输出.

  • Ps:如果你学过c++,也用c++写过线性求素数,仔细比较下,你会发现这两者之间存在的区别.(⊙v⊙)嗯,就是这样!
/**
 * @author  John Nash
 * @date Crate time:2018年3月26日下午10:26:03
 */
import java.util.Scanner;
import java.util.Arrays;

class Person implements Comparable<Person> {
	String name;
	int score ;
	int age ;

	public int compareTo(Person b) // 返回值有三种 1,0,-1
	{
		if (score!=b.score)
		return b.score - score;
		else
			return age -b.age;
	}

}
public class Main {
	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);
		while (in.hasNext()) {
			int n = in.nextInt();
			Person a[] = new Person[n];
			for (int i = 0; i < n; i++) {
				a[i] = new Person();
				a[i].name = in.next();
				a[i].score = in.nextInt();
				a[i].age =in.nextInt();
			}
			Arrays.sort(a);//
			for (int i = 0; i < n; i++) {
				System.out.println(a[i].name + " " + a[i].score+ " "+a[i].age);
			}
		}
	}
}

注意:

以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!

校赛中关于stl的一点点收获:

1.数字全排列问题:(输出全排列

stl的用法:

#include <bits/stdc++.h>
using namespace std;
const int maxn =1e6+5;
int a[maxn];
int main ()
{
    int n,i,j,k;
    cin>>n;
    for (i=1;i<=n;i++)
        a[i-1]=i;
     do
     {
         for (i=0;i<n;i++)
            cout<<a[i];
         cout<<endl;

     }while(next_permutation(a,a+n));
    return 0;
}

算法的详细解释(推荐):全排列


堆排序:建堆,与堆排序

1、创建堆make_heap

2、元素入堆push_heap(默认插入最后一个元素)

3、元素出堆pop_heap(与push_heap一样,pop_heap必须对堆操作才有意义)
4堆排序sort_heap

make_heap(v.begin(),v.end());
sort_heap(v.begin(),v.end());

推荐习题: L2-012

/***
 这道题没有得到全部的得分点,由于但是利用stl的make_heap建堆的使用也是可以的了.
 PS: 感觉自己可能是建堆过程有错误,没有考虑特殊情况.
***/
#include <bits/stdc++.h>
using namespace std;
int a[200000];
int n,m;
inline int get_pos(int x)
{
    return distance(a,find(a,a+n,x));
}
int main ()
{
    string str;
    string temp ;

    int i,j,k;
    cin>>n>>m;

    for (i=0;i<n;i++)
    {

        cin>>a[i];
        make_heap(a,a+i+1,greater<int>() );

    }
//    for (i=0;i<n;i++)
//        cout<<a[i]<<" ";
//    cout<<endl;
    getchar();
    while (m--)
    {
        temp="";
        stringstream ss;
        getline(cin,str);
        int len =str.length();
        if (str[len-1]=='t')
        {

            for (i=0;i<len;i++)
            {
                if(str[i]==' ')
                    break;
                temp+=str[i];
            }
            int ret;
            ss<<temp;
            ss>>ret;
            if (ret==a[0])
                cout<<"T"<<endl;
            else
                cout<<"F"<<endl;
        }
        else if (str[len-1]=='s')
        {
            int x,y;
            for (i=0;i<len;i++)
            {
                if (str[i]==' ')
                    break;
                temp+=str[i];
            }
            ss<<temp;
            ss>>x;
            ss.clear();
            temp="";
            i++;
            for (;i<len;i++)
            {
            if (str[i]>='0'&&str[i]<='9')
                temp+=str[i];
            }
            ss<<temp;
            ss>>y;
            ss.clear();
            int pos_x=get_pos(x);
            int pos_y=get_pos(y);
            if ((pos_x+1)/2==(pos_y+1)/2)
                cout<<"T"<<endl;
            else
                cout<<"F"<<endl;
        }
        else
        {
            bool yes=0;
            for (i=0;i<len;i++)
                if (str[i]=='p')
            {
                yes=1;
                break;
            }

            int x, y;
                for (i=0;i<len;i++)
                if (str[i]==' ')
                    break;
                else
                    temp+=str[i];
                ss<<temp;
                ss>>x;
                ss.clear();
                temp="";
                i++;
                for (;i<len;i++)
                if (str[i]>='0'&&str[i]<='9')
                    temp+=str[i];
                ss<<temp;
                ss>>y;
                ss.clear();
                int pos_x=get_pos(x);
                int pos_y=get_pos(y);
            if (yes)
            {
                if (a[pos_x*2+1]==a[pos_y]||a[pos_x*2+2]==a[pos_y])
                    cout<<"T"<<endl;
                else
                    cout<<"F"<<endl;
            }
            else
            {
                if (a[pos_y*2+1]==a[pos_x]||a[pos_y*2+2]==a[pos_x])
                    cout<<"T"<<endl;
                else
                    cout<<"F"<<endl;
            }

        }
    }
    return 0;

}

stl Map 键值对:

map[key]=values
map.find[key] 查找函数
Lower_bound函数用法,这个函数用来返回要查找关键字的下界(是一个迭代器)
Upper_bound函数用法,这个函数用来返回要查找关键字的上界(是一个迭代器)
map.erase(key) 删除指定元素
map.clear() 清空map

其他常见的stl函数,模板(读者自行百度):

1.sort(),排序
2.set  集合 (实现方式是红黑树,一种平衡二叉树的变形,详情可去爱课程上搜寻查找上海交大的相关课程学习(为是么不说出来,---我忘记了))
3. lower_bound 二分查找,返回值是地址信息

最后一句:

如果你打算从事C++开发或者ACM学习竞赛,STL是你必须要过的一个知识点,希望你可以好好努力,加油!

注意:

以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!

概述:

  • 建议大家在学之前请分清素数,合数的区别.数字的几种分类.
  • 线性求素数应该算是数论里面知识点的基础,掌握后就可以看一看
    • 分解素因子算法,算数基本定理(唯一分解定理),区间求素数, 欧拉函数等(为甚么,因为后面的我有学,这只是总结贴而已.(0_0)!!!)。
  • Ps: 笔者在这只写了java的版本,所以其他相关的知识点,请各位自行查阅.
  • 推荐网址: 线性求素数(传送门)[https://www.zhihu.com/question/24942373]
  • gcd函数(求最大公约数),exgcd(欧几里得算法,扩展gcd,不定方程组,中国剩余定理)ps:自查
  • 祝大家都有所收获!

素数:

c++版本:

#include <bits/stdc++.h>
using namespace std;
const int maxn =1e6+5;
bool vis[maxn];
int cnt ;//统计prime 个数
int prime[maxn];//存储prime
/***
前提说明:这个算法的时间复杂度是可以优化的,
如何优化,请自行百度。
***/
void is_prime() // 求prime
{
    long long i,j,k;
    fill(vis,vis+maxn,0);
    cnt =0 ;
    for (i =2 ;i<maxn;i++)
    {
         if (!vis[i])
         {
             prime[cnt++]=i;
         }
         for (j=i*i;j<maxn;j+=i)
         {
             vis[j]=1;
         }
         vis[0]=vis[1]=1; // 0,1 不是素数
    }
}
int main ()
{
     is_prime();
     for (int i = 0;i< 100;i++)
     {
         if (i<10)
            cout<<prime[i]<<"\t";
         else
            cout<<prime[i]<<endl;
     }
    return 0;
}

Java版本:

import java.util.Scanner;
import java.util.Arrays;
public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		Prime a = new Prime(10000000);
		int cnt = 0;
		int num[] = new int[100];
		for (int i = 100; i < 201; i++) {
      //		int x = in.nextInt();
			if (a.isPrime[i] == true) {
				num[cnt++] = i;
			}
		}
		System.out.println(cnt);
		int i;
		for (i = 0; i < cnt - 1; i++) {
			System.out.printf("%d ", num[i]);
		}
		System.out.println(num[i]);
	}
}

class Prime {
	/*
	 * 偶数一定不是素数,排除,默认所有的奇数为素数,在此基础上进行筛选 推荐网址:
	 * https://www.zhihu.com/question/24942373 PS: 2是素数
	 * 待添加的函数: 范围内求素数数量,输出
	 * 判断素数。
	 * java没有类似c++直接声名全局变量求得方式,可能这就是面向对象与面向过程的一点点区别吧
	 */
	boolean isPrime[];
	int rangeNum;

	Prime(int num) {
		rangeNum = num + 1;
		isPrime = new boolean[rangeNum];
		// for (int i =0;i<rangeNum;i++) //不用自己初始化,boolean类型默认为false
		// isPrime[i]=false ;
		for (int i = 3; i < rangeNum; i += 2)
			isPrime[i] = true;
		isPrime[2] = true;
		for (int i = 3; i * i < rangeNum; i++) // 必须是 i*i<rangeNum. 否则的化会撑爆int上限,本来想用long表示,不过java不予许从long 到int
												// 。。至少我现在不知道。。
		{
			if (isPrime[i] == true) {
				for (int j = i * i; j < rangeNum; j += i)
					isPrime[j] = false;
			}
		}
	}

	int calculatNumber(int maxn) { // 计算在maxn范围内素数的个数
		int cnt = 0;
		for (int i = 2; i < maxn; i++)
			if (isPrime[i])
				cnt++;
		return cnt;
	}

	boolean judge(int x) {
		return isPrime[x];
	}
}

gcd函数(java版本):

import java.util.Scanner;
import java.util.Arrays;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		while(in.hasNext())
		{int x = in.nextInt();

		int y = in.nextInt();
		int ret= gcd(x, y);
		int  ans =x*y/ret;
		System.out.printf("%d\n%d\n",ret,ans);
		}

	}
	static int gcd(int a, int b)
	{
		if (a==0)
			return  b;
		else
			return gcd(b%a,a);
	}
	// 扩展gcd算法。。不定方程
}

注意:

以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!