永不止步
点击阅读前文前, 首页能看到的文章的简短描述
不管你所在的组织是一种什么样的体制,你都要保证找到一个自己的师傅,有一个令人信任和尊敬的指路人,会有助于你穿越自己的企业丛林。
- 最基本的,往往是最重要的。
- 非淡泊无以明志,非宁静无以致远。
- 我的信念是我的行动,而不是我的语言,精力应该放在解决问题的方案上,而不是被浪费在问题上;应该专心做事,不是一味忧虑。
以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!
PS:欢迎大家来到我的小站,和我一起记录属于我们自己的大学
毕竟,一个人想要得到真才实学,就必须自己独身一人就必须自己去攀登奇山险峰。既然人生的道路上是没有任何捷径的,我就得走自己的迂回曲折的小路。我滑落过好几次,跌倒,爬不上去,撞着意想不到的障碍就发脾气,接着又制服自己的脾气,然后又向上跋涉。每得到一点进步,便受到了一份鼓舞。我的心越来越热切,奋勇攀登,渐渐看见了更为广阔的世界。每次斗争都是一次胜利,再加一把劲儿,我就能到达璀璨的云端、蓝天的深处——我希望的顶峰。
1.pygame模块
2.python基础学习总结
# 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)
#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()
近期的学习状态真的是无语!(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库实战
导入: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()
文件定位:
实现按文件夹+数字形式命名文件夹下的文件
"""
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 格式化输出浮点类型:
- 方法一:
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));
Scanner in =new Scanner(System.in);
in.hasNext(); //判断用户是否有下一次的输入
int x =in.nextInt(); // x接收用户输入的int类型数据
PS: java 基本数据类型: 真正赋值 ,对象则是引用 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)的字符串
- Interface是用来定义类的,I并且是一个极度抽象的类,因为它允许人们通过创建一个能够被向上转型为多种基类的类型,来实现某种类似多种继承变种的特性。
- 前提说明:
输入学生姓名,年龄,以及成绩
以成绩降序,年龄升序的形式输出.- 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);
}
}
}
}
以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!
基础数据结构总结
#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_heapmake_heap(v.begin(),v.end());
sort_heap(v.begin(),v.end());
/***
这道题没有得到全部的得分点,由于但是利用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;
}
map[key]=values
map.find[key] 查找函数
Lower_bound函数用法,这个函数用来返回要查找关键字的下界(是一个迭代器)
Upper_bound函数用法,这个函数用来返回要查找关键字的上界(是一个迭代器)
map.erase(key) 删除指定元素
map.clear() 清空map
1.sort(),排序
2.set 集合 (实现方式是红黑树,一种平衡二叉树的变形,详情可去爱课程上搜寻查找上海交大的相关课程学习(为是么不说出来,---我忘记了))
3. lower_bound 二分查找,返回值是地址信息
如果你打算从事C++开发或者ACM学习竞赛,STL是你必须要过的一个知识点,希望你可以好好努力,加油!
以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!
- 建议大家在学之前请分清素数,合数的区别.数字的几种分类.
- 线性求素数应该算是数论里面知识点的基础,掌握后就可以看一看
- 分解素因子算法,算数基本定理(唯一分解定理),区间求素数, 欧拉函数等(为甚么,因为后面的我有学,这只是总结贴而已.(0_0)!!!)。
- Ps: 笔者在这只写了java的版本,所以其他相关的知识点,请各位自行查阅.
- 推荐网址: 线性求素数(传送门)[https://www.zhihu.com/question/24942373]
- gcd函数(求最大公约数),exgcd(欧几里得算法,扩展gcd,不定方程组,中国剩余定理)ps:自查
- 祝大家都有所收获!
#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;
}
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];
}
}
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算法。。不定方程
}
以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!